Audio ducking

Implemented audio ducking in response to the CAN_DUCK audio focus event
Moved audio focus management into AudioPlayerWithEvents, and moved audio
becoming noisy event to the ExternalMusicControlHandler
Made external control more robust to change in audio focus