audio: fix sample playback crash on recording stop
Race condition: playback thread reads sample_buf[] while mic_stop
writes to it (ring buffer copy + memmove trim). Fix:
- Kill all sample voices before modifying sample_buf in mic_stop
- Add bounds clamping in playback: clamp indices to sample_max_len
- Final bounds check before buffer access prevents segfault even
if sample_len changes between read and index calculation
This was causing kernel panic (via PID 1 segfault) when releasing
Home key during notepat sample recording.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>