* Early exit in error callback from Wasm
This avoids Wasm execution hanging due to problems such as wrong public
input.
Mimics circom_runtime behaviour with less detailed debug information.
See https://github.com/iden3/circom_runtime/blob/master/js/witness_calculator.js#L52-L64
Adds test for wrong public input. Without early exit, the test stalls.
With it, the Circom build step fails as expected.
* chore: clean up error handling
* ci: add caching
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>