WebAssembly interop rounds out: imported globals and memory
Following 0.1.146's JS-import callbacks, the other two legs of how a real wasm module talks to its page now work. Imported globals were being skipped by the decoder, which silently misaligned every global index the module's own globals used - they are now modeled at the front of the index space and receive the page-supplied value, whether passed as a plain number or a WebAssembly.Global. Imported memory goes further: the page can construct a WebAssembly.Memory, pre-seed bytes into it, and hand it to the module - the module reads the seeded bytes, and after it writes, the page reads the results back through the same memory object's buffer, live. The WebAssembly.Memory and WebAssembly.Global constructors exist now, so pages that build their import objects the standard way no longer fall at the first line. Every case verified against the reference runtime's WebAssembly as the independent reference. Web APIs moves 63 to 64; the overall holds at 57.