engine: don't use audio write directly

This change uses the onaudiodata function on synthesis_callback to
send the media overlays audio data, like how the TTS engines send
synthesized audio data.

This is part of a series to rework speak_tts_thread to only use the
synthesis_callback API.