[AE/osxsink] - fix possible device changed loop when using passthrough

Damnit - that one slipped in when i added the registration to the default output device changed callback.

@jmarshalnz for review - Gotham material sadly.
XBMC opens the device with gui sound format - this saves the old format of the device and sets the gui sound format.

Lets assume the old format is unencoded (anything else would give us trouble anyway as we can't unhog when other processes hogged the device into encoded mode).

Open dts passthrough:
1. XBMC - Initialize sets encoded format and opens the stream
2. OSX - default output device is changed to internal because of that because a device with encoded format can't be the default
3. OSX - fires the callback
4. XBMC - triggers reenumeration
5. XBMC (ActiveAE) - closes the stream for enumeration
6. XBMC (Osxsink) - restores the initial format on close stream to unencoded
7. OSX switches the default ouput device back to our HDMI
8. OSX fires the callback
9. XBMC - triggers reenumeration
10. XBMC (ActiveAE) - closes the current stream which restores to previous which was encoded (not sure about that - but doesn't really matter) - or it restores to unencoded again
11. XBMC (ActiveAE) - calls initialize because it still wants to open the passthrough DTS stream
12. continue at 1