Switch DemuxerAndroid-related IPC messages from routed to control.

BrowserDemuxerAndroid now extends BrowserMessageFilter and RendererDemuxerAndroid now extends IPC::ChannelProxy::MessageFilter and both handle IPCs on the IO thread.

RenderDemuxerAndroid now dispatches IPCs directly to the media thread with MediaSourceDelegate handling and responding to IPCs exclusively on the media thread. Doing so eliminates unnecessary thread hops on the main render thread for demuxer-related tasks.

Finally, RendererDemuxerAndroid is now in charge of generating demuxer IDs instead of reusing the player ID. This guards against BrowserDemuxerAndroid receiving duplicate IDs since player IDs are only unique within the context of a RenderView. The MediaPlayerHostMsg_Initialize IPC message was updated to include the new demuxer ID.

The end result gets us ~jank-free media source playback on Android devices when doing heavy lifting on the renderer main thread (layout, style calculations, garbage collection, etc...).

BUG=263652
R=acolwell@chromium.org, cdn@chromium.org, jam@chromium.org, qinmin@chromium.org

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

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