[Video] MediaSession API event handlers can resume background video.

ShouldPauseVideoWhenHidden is now used for videos with audio too so that HTMLMediaElement::play() actually reaches WMPI because the video is paused.

WMPI::UpdatePlayState_ComputePlayState now only cares about the presence
of the session and allows playback of anything as long as it got play() command.

WMPI now tracks whether background video playback has been unlocked by a user gesture. RendererWebMediaPlayerDelegate emulates user gesture in OnPlay/OnPause to behave the same way as MediaSession.

BUG=689637
TEST=manual+updated tests

Review-Url: https://codereview.chromium.org/2681863005
Cr-Commit-Position: refs/heads/master@{#452700}
9 files changed