Introduce proper error handling in several places, and perform a first pass at refactoring Instance to make it easier to use.
This is the wasmtime-environ crate, which contains the implementations
of the ModuleEnvironment and FuncEnvironment traits from
cranelift-wasm. They effectively
implement an ABI for basic wasm compilation, which can be used for JITing,
native object files, or other purposes.