Merge MediaControlsChromium into MediaControls (2nd try)

To the largest extent possible, code was copied from
MediaControlsChromium.* to MediaControls.* without modification. Where
MediaControlsChromium virtual functions called the MediaControls base
functions, the order was preserved to avoid changing behavior.

The 1st try broke Android: https://codereview.chromium.org/144083003/

The problem was that MediaControlsChromiumAndroid::createControls()
was merged into the Android MediaControls::create(), but obviously
that doesn't have access to the private members it needs.

Simplify things by having only a single implementation of create() and
make initializeControls() virtual instead. The ifdefery is thus
reduced to a single line in MediaControls::create().

BUG=341813

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166893 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove the user gesture restriction for HTMLMediaElement::load()

load() resets some state and invokes resource selection. Preventing
resource selection is not useful, since there are several other
unguarded ways to trigger it using plain markup or scripts.

m_loadInitiatedByUserGesture has been unused outside of load() since the
npr.org quirk was removed in r158703.

If a similar feature is needed in the future, forcing preload="none"
internally would be an alternative.

BUG=342339

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166895 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Don't layout fixed-pos layer when it's moved

BUG=342538
TEST=fast/repaint/fixed-position-layer-moved.html

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

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