Adding keyboard handler classes for various device keyboards.

Refactoring existing code to break them out to classes and also add
support for usbkm232 interface for devices that do not have an internal
keyboard.
The corresponding autotest change is at:
https://chromium-review.googlesource.com/#/c/177946
BUG=chrome-os-partner:24084
TEST=Manual tests at desk

Change-Id: Ib94152174c018ec5449a32fa92ab1cfbc1e45e9a
Reviewed-on: https://chromium-review.googlesource.com/182505
Reviewed-by: Wai-Hong Tam <waihong@chromium.org>
Tested-by: Yusuf Mohsinally <mohsinally@chromium.org>
Commit-Queue: Yusuf Mohsinally <mohsinally@chromium.org>
3 files changed