Supporting native Rust in Workers with the new Emscripten target for wasm-bindgen

This post details the integration of the Emscripten `wasm32-unknown-emscripten` target with wasm-bindgen, enabling native Rust and Tokio applications to run on Cloudflare Workers. It describes the cooperative engineering effort between Google and Cloudflare to achieve seamless interoperability between Emscripten and wasm-bindgen toolchains. Significant contributions include patches for Rust libraries to support the Emscripten target and substantial work on Tokio to enable its async runtime within the Workers' single-threaded JavaScript event loop. This was achieved through two primary approaches: supporting reentrant JSPI with careful thread-local context management, and designing a `LocalEventLoop` for Tokio that integrates with host event loops by splitting the runtime's polling and waiting phases.