New mixer API

For you interested. Still work in progress. Do not merge.

Addresses #665.
Hmm, could we invert this and have audio know specially about SoftwareMixer and still have things work? I.e. I still want to try and avoid giving all the mixers audio refs.