Reland "[ChromeDriver] Key type actions for the actions API"

This is a reland of 4bd0cd567ddcdbcae606504a5fbb2c023eb9b4a2
Original change's description:
> [ChromeDriver] Key type actions for the actions API
>
> This CL contains the key type actions. Follow up CLs for tests and
> pointer/pause actions
>
> spec: https://w3c.github.io/webdriver/webdriver-spec.html#actions
>
> Bug: chromedriver:1897
> Change-Id: I135df58d97a45494e51a5ac09dfce021f7d094d3
> Reviewed-on: https://chromium-review.googlesource.com/692599
> Commit-Queue: Jonathon Kereliuk <kereliuk@chromium.org>
> Reviewed-by: John Chen <johnchen@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#508958}

Bug: chromedriver:1897
Change-Id: Ic6cc2fe03d8ea41f683563417c471d071bcfa624
Reviewed-on: https://chromium-review.googlesource.com/725522
Reviewed-by: John Chen <johnchen@chromium.org>
Commit-Queue: Jonathon Kereliuk <kereliuk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510435}
5 files changed