Bug 1091008 - Factor out IsDataCachedToEndOfResource() into a higher-level question and answer it sensibly for MSE. r=cpearce
Bug 1091008 - Make sure to always set mStartTime via SetStartTime. r=cpearce
Bug 1091008 - Teach MediaDecoderReader about its start time. r=cpearce

Duplicating state is never great, but this lets the reader make calculations
using this immutable state variable without involving the state machine. We
could alternatively punch a hole from MediaDecoderReader to
MediaDecoderStateMachine and access it there, but that would create tighter
coupling, and weird relationships for MSE.
Bug 1091008 - Remove the aStartTime argument from MediaDecoderReader::GetBuffered. r=cpearce

We now have this stashed on the superclass.
Bug 1091008 - Implement a sensible GetBuffered override for MediaSourceReader using the existing GetBuffered on MediaSource. r=cajbir
Bug 1091008 - Remove special handling for MSE in HTMLMediaElement::Buffered. r=cajbir

The same code will now be reached by invoking this method on the decoder.
Bug 1091008 - Reimplement HasLowUndecodedData in terms of GetBuffered. r=cpearce

Since GetBuffered now has a sane implementation for MSE, this should
make this function sane for MSE as well.
Bug 1096597 - Switch to buffering mode on WAITING_FOR_DATA. r=cpearce
Bug 1063323 - Tests. r=cajbir
Bug 1093020 - Don't use a buffering wait for MSE. r=cpearce
Bug 1093020 - Tests. r=karlt