Bug 1085356 - Better handling of OSX audio output devices switching when SourceMediaStream are present in the MSG. r=jesup

On OSX, when the audio output device changes, the OS will call the audio
callbacks in weird patterns, if at all, during a period of ~1s. If
real-time SourceMediaStreams are present in the MediaStreamGraph, this means
buffering will occur, and the overall latency between the MediaStreamGraph
insertion time, and the actual output time will grow.

To fix this, we detect when the output device changes, and we switch temporarily
to a SystemClockDriver, that will pull from the SourceMediaStream, and simply
discard all input data. Then, when we get audio callbacks called reliably
(basically, when OSX is done switching to the other output), we switch back to
the previous AudioCallbackDriver.

We keep the previous AudioCallbackDriver alive using a self-reference. If an
AudioCallbackDriver has a self-reference, that means it's in a state when a
device is switching, so it's not linked to an MSG per se.
Bug 1074736 - selection_rect_list should consider multiple range. r=mdas
Bug 1074736 - Consider multiple range selection in selection caret. r=roc
Bug 1074736 - Marionette test for selection carets with multiple range support. r=mdas
Bug 1069069 - update .pl entry in PSL. r=tobias.sattler
Bug 1062134 - Freeze decoding when back from Dormant state. r=jwwang
Bug 948379 - added float32x4 border cases. r=bbouvier
Bug 10897368: webrtc & PulseAudio: don't crash in case of buffer holes r=jesup
Backed out changeset ca8385b7e5a3 (bug 10897368)
Bug 1087368: webrtc & PulseAudio: don't crash in case of buffer holes r=jesup
DONTBUILD
Bug 1085270 - Remove custom protocol handler for Youtube. r=fabrice
Bug 1075444 - Handle "(" when parsing CSS for the Style Inspector. r=bgrins
Bug 1083347 - Remove androidx86.json. r=gbrown
bug 1087498 - ifdef out debug only code r=davidb
Bug 922976 - Disable 394751.xhtml on B2G for frequent failures.
Bug 1080709 - Use nsIDOMWindowUtils::wrapDOMFile() in Android file picker
Bug 1078237 - Disable test_switch_frame.py on Windows for frequent failures.
Bug 1033126 - Convert xpcshell tests to use mozlog.structured format for logging.;r=ted
Bug 1086958: re-add default browser strings from bug 951627

--HG--
extra : rebase_source : 082afdd90f2620c596523e4d0b16aab3a5d8296e
Bug 1082734 - Remove URL.searchParams to avoid the stealing of data from future cross-origin sites, r=bz