Phase 1: keccak256 and blake2b compiled from Rust via wasm-pack (23KB).
Provider pattern enables switching between JS and WASM backends at runtime
while keeping all existing JS crypto code intact. Equivalence tests confirm
byte-for-byte matching across all inputs. Benchmarks: keccak256 ~4.6x faster,
blake2b ~15x faster with WASM backend.