Added non-prefixed navigator.getGamepads() with updated API

This CL splits the Gamepad API into prefixed and non-prefixed versions.
The prefixed version continues to operate in the same way as before, though
the types are now named WebKitGamepad and WebKitGamepadList. The non-prefixed
version uses the new GamepadButton type for its button values.

The GamepadEvent type has also been added but the events aren't yet wired up.
When added they will only apply to the the non-prefixed API.

BUG=344556

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

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