Bug 1062664 - Frame selection test.  r=cajbir
Bug 1062664 - Refactor reader switching.  r=cajbir
Bug 1062664 - Select newest decoder for a given TrackBuffer.  r=cajbir
Bug 1062664 - Make Switch{Audio,Video}Reader return true only on an actual reader change (i.e. selecting the current reader is not a switch).  r=cajbir

Remove the ok check from MSR::Seek now that Switch{Audio,Video}Reader
may return false; return to relying on the ContainsTime assert.
Bug 1062664 - Don't update MediaSourceReader::mLast{Audio,Video}Time when seeking.  r=cajbir

Any On{Audio,Video}Decoded callbacks triggered before we request a new
sample from a reader after seeking should not be used to compute the
last sample time because they originate from the reader we're switching
away from and cause us to switch back to it after seeking.
Bug 1064160 - Move NotifyGotData calls to TrackBuffer so they are closer to the state being waited/notified on.  r=cajbir

Rename NotifyGotData to slightly clearer NotifyTimeRangesChanged.  Move
WaitForData from MediaSourceDecoder's public API to MediaSourceReader's
private API and hoist the wait loop logic inside it.