Implement GamepadHapticActuator

GamepadHapticActuator receives haptics commands and forwards them to
GamepadDispatcher, which dispatches them to the device service. It also
manages the state of promises which have been returned to the user as
the result of haptics commands.

Haptics commands include playEffect, which plays a vibration effect on
the target gamepad, and reset, which stops vibration and resets any
vibration-related state on the gamepad. Both commands return a promise
that is resolved with a result code once the command is completed.

BUG=749295

Change-Id: I457c4b0e024c88adcaecdf6695959e06acb20a8e
Reviewed-on: https://chromium-review.googlesource.com/747050
Commit-Queue: Matt Reynolds <mattreynolds@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513032}
2 files changed