Fix batch (Paul's stellate.app feedback) + SW bump so it actually lands

The v2 service worker served a load-behind copy, so Paul saw NONE of the recent batch. Bump VERSION v2→v3 (purges old cache on activate → a deploy lands in ONE load).

• VAPOR is a real "empty mall" now: as vapor 0→1 the master MUFFLES (lowpass 20k→1.4k), RECEDES (dry ducks) and drenches in a big DIFFUSE hall wash (3 lowpassed comb delays + pre-delay)

SYNTH-FONT DRUMS — a synth font now drops the sampled kit so drums are the engine's synthesized voices too. The real gate was applySampledOnly (runs on every track() and re-added a kit after toState)

• HOVERING VOICES fixed on the analog font: voice/choir/string/organ instruments (and all PADS) route to the POLY juno60 instead of collapsing on mono modeld.

• Renamed the fonts: MiniMoog → "Pure Analog", DX7 → "Pure FM"; small oscillator drift floor across the analog voices.

Verified: fixtures 0-drift (all opt-in/live-only); synthfont probe both fonts render audio (Pure Analog rms .074 / Pure FM .080), pads poly juno60 at render; video probe PASS (201KB webm + progress)

▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide https://stellate.app/?genre=bebop&seed=4451&path=694.13834,713.13867,675.13867&xdur=13.122

9d829f9 https://github.com/aboard-io/stellate/commit/9d829f9bd738b212bae4ebbb5e80d4d530541914