Implement media Cast button in Blink

This implements a Cast button in the default media controls, and a second,
overlayed Cast button on videos that don't use the default controls.

This replaces the previous implementation of the cast button in the
Android UI.

Pressing the Cast button asks the browser UI to bring up cast device
selection menu. If a device is selected the video or audio will be played
on that device, rather than locally.

The Cast buttons are only displayed when there are cast devices available.

Currently this is only implemented for Android; on other targets Chrome
will always tell Blink that there are no devices available.

Depends on Blink issue https://codereview.chromium.org/291163004/

BUG=390125

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

Cr-Commit-Position: refs/heads/master@{#295253}
13 files changed