fedac/native: extract GM synthesis into standalone gm_synth.c (host-compilable, shareable) master
Move all GM DSP out of audio.c into a dependency-free gm_synth.c/.h (no ALSA/engine headers) so it compiles on macOS and can be shared into Menu Band for local audition — ending the blind-oven-build loop for GM voices. - GMVoice struct owns all per-voice GM state (decoupled from ACVoice, which now just holds a GMVoice gm; member) + its own rng_seed. - Public API: gm_synth_init, gm_voice_init(prog,freq,sr,seed)->-1 if unimplemented, gm_voice_render(env,freq), gm_program_implemented, gm_set_organic. Engine enum GM_ENGINE_*. - audio.c: the 5 GM render cases collapse to one gm_voice_render() call; audio_synth_gm/audio_set_organic delegate; wt_sin_init→gm_synth_init. - Pure move+decouple — DSP math byte-identical (verified). Makefile builds gm_synth.c. Local cc test: all voices sane, seed-varied (stochastic). Foundation for the Menu Band 'Use AC OS MIDI' checkbox.