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.
Not changed in this PR, but `fakemixer` is no longer a valid mixer config value.