Ensure new MSP video codec is fed with I-frame first using browser seek if necessary

Works-around Android MediaCodec's requirement that a new video MediaCodec always first be fed with I-frame data by re-introducing a (short-term, for this work-around only) "browser seek" that is coordinated with regular seeks, but hidden as much as possible from Blink and web apps.

Updates and adds related MediaSourcePlayerTests.
Also adds a preroll test to verify http://crbug.com/309122 case #1.

A more robust fix approach is tracked by http://crbug.com/304234.

BUG=298502, 309122
R=acolwell@chromium.org,qinmin@chromium.org,palmer@chromium.org
TEST=Original and alternate repro steps in Bug 298502 no longer crash due to surface change, though other crashes sometimes occur on original repro steps (bugs 306314 and 302867). All MediaSourcePlayerTests pass on Android.

Review URL: https://codereview.chromium.org/26595003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231425 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 231425
cc: Fix running some perf-tests.

 * It looks like 'ImageBounds' in the json test files are meant to be in
   '[width, height]' order. Fix reading that data in the test.
 * BrowserCompositorInvalidateLayerTreePerfTest tests set a mailbox on the
   texture layers. So create TextureLayers that use mailbox in the test.

BUG=none
R=danakj@chromium.org

Review URL: https://codereview.chromium.org/49423002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231426 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 231426