servod: move keyboard handler init logic into a driver

This CL moves the keyboard handler initialization into a driver, and
defaults it to 'off' for usb_keyboard and 'on' for regular keyboard handler.
This model allows for only servo v4, v3, and v2 to export the usb keyboard
handler (as ccd & micro are not capable of this).
It also moves the board specific KeyboardHandler logic (boxes, parrot
etc) into their respective overlays.

Supports V2, V3, and V4 usb keyboard handler invocation.

BUG=chromium:869335
TEST=manual testing, keyboard handlers are properly initialized
More thorough testing in the lab environment by Haowei

Change-Id: I069cf0d4cf63327eb8e197615494560b3249620c
Signed-off-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1178761
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Ravi Chandra Sadineni <ravisadineni@chromium.org>
Reviewed-by: Ravi Chandra Sadineni <ravisadineni@chromium.org>
17 files changed