Move gamepad_service out of content/ and into device/

This patch is a subtask of "Decoupling Gamepad from //content".

In this patch the GamepadService, GamepadServiceUnittest, GamepadMonitor and
GamepadSharedBuffer are moved out of content/browser/gamepad or render_host,
and into device/gamepad/.

The file //content/common/gamepad_hardware_buffer.h is removed, we move the
definition of GamepadHardwareBuffer into gamepad_shared_memory.h, and change
its definition by using generic SharedMemorySeqLockBuffer<blink::WebGamepads>.

In the unittest of GamepadProvider, we don't pass a MockSharedMemoryBuffer
(which has no seqlock controls) anymore. GamepadProvider will create a
SharedMemoryBuffer by default in its constructor, so we add the seqlock-read
accordingly in its unittest.

Based on a patch by [email protected].

BUG = 612330

Review-Url: https://codereview.chromium.org/2563483006
Cr-Commit-Position: refs/heads/master@{#437716}
diff --git a/device/BUILD.gn b/device/BUILD.gn
index 44eddbe..3b7cd74d 100644
--- a/device/BUILD.gn
+++ b/device/BUILD.gn
@@ -62,6 +62,7 @@
     "bluetooth/test/test_bluetooth_local_gatt_service_delegate.cc",
     "bluetooth/test/test_bluetooth_local_gatt_service_delegate.h",
     "gamepad/gamepad_provider_unittest.cc",
+    "gamepad/gamepad_service_unittest.cc",
     "gamepad/public/interfaces/gamepad_struct_traits_unittest.cc",
     "generic_sensor/platform_sensor_and_provider_unittest_win.cc",
     "generic_sensor/platform_sensor_provider_unittest.cc",