Improve error handling in P1Connection.
Improve state management; give mixers hooks.

This is so we can clear mixer state on sources, like texture and
mix_pos. Still not really there, though.

The flank of both source and mixer becoming active or inactive needs to
be more carefully managed.