Rebase wasm work onto gleam-lang/gleam main and fix 1.18 API drift.
Port Target::Wasm exhaustiveness, external_wasm plumbing, and MIR/formatter
matches for TypedDefinitions, ClauseGuard::BinaryOperator, and related AST
changes after landing on v1.18.0-rc2.