Investigate wasm-c-api to allow other WASM backends
https://github.com/WebAssembly/wasm-c-api/blob/master/include/wasm.h is an attempt at a standardized interface for WASM runtimes. There's a v8 implementation in-repo and the C API is implemented by WAMR (what the API is strongly inspired by), wasmer, and wasmtime.
If we were to base our HAL backend implementation on this it would give us the flexibility to plug in alternative backends based on scenario ("already have v8 linked into your app? use that" etc) and pit them against each other for performance/code-size/etc tradeoffs.
I've just encountered the issue and it's great to see the use case for Wasm!
In case it's useful, at Wasmer we are pushing also the standard C++ API forward: we just merged a PR removing UB from the wasm C++ API, and we will have a C++ interface very soon in Wasmer itself!