Bug 1040563 - Move WaitForData/NotifyGotData from MediaSource to MediaSourceDecoder, which is off-main-thread friendly.

Also remove mMediaSource from MediaSourceReader and rejig SetMediaSourceDuration to go via MediaSourceDecoder and handle mMediaSource being null.