Previously, if the last production id in a language did not have
a unique set of fields, the field maps weren't loaded correctly
from wasm.
Co-authored-by: Marshall <marshall@zed.dev>
* In WASM, use a custom, simple malloc implementation that lets us
expicitly reset the heap with a new start location.
* When a WASM call traps or errors, propagate that as a parse failure.
* Reset the WASM heap after every parse.
Co-authored-by: Conrad <conrad@zed.dev>