Browsers (Chrome, Safari, mobile Firefox) create every AudioContext
suspended and refuse to start it without a user gesture. Bevy -> rodio ->
cpal build their context at startup, so it stayed suspended and no sound
played except on lenient desktop Firefox.
Wrap the AudioContext constructor in the web shell to track created
contexts and resume them on the first pointer/key/touch gesture.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>