This fills in the core pieces and fully implements it for Mac OS X.
Most other platforms, at the moment, will report a disconnected device if
it fails to write audio, but don't notice if the system's device list changed
at all.
--HG--
extra : rebase_source : f7e7efbbeecfe58338b0f325340c358c2bdfc402