Seek if MediaSource duration set below currentTime

Fixes bug 252968:
* Lets MediaSourceBase know the specific HTMLMediaElement to which it is attached, and enforces synchronous setDuration+seek start behavior in blink (rather than all the various WebMediaPlayer/WebMediaSource implementations.)
* Adds layout tests that seeking is started when MSE API handles MediaSource duration change to less than currentTime, and completed on either more data appended at new duration or endOfStream.
* Adds layout test that redundant duration setting doesn't fire duplicate durationchange events.
* Adds FIXMEs for newly discovered bugs 266592, 266631, and 266644.
* Uses alternative to the test fix suggested in bug 266659.

BUG=252968,266592,266631,266644,266659
TEST=all media and http/tests/media layout tests ran as expected locally on linux

Review URL: https://chromiumcodereview.appspot.com/18513005

git-svn-id: svn://svn.chromium.org/blink/trunk@155759 bbb929c8-8fbe-4397-9dbb-9b2b20218538