Refactor message handling in audio

And other step in the direction of the API I recently made a pastebin dump of. Also fixes how and when we trigger seek and stream changed events.
I still want s/Triggering/Audio event/ all over the place.