mash: Remove use of InputMethodManager in Wayland server.

We're currently using InputMethodManager in the Wayland server to
observe changes in the keyboard layout. However, under mash, exo will be
in the ash process and InputMethodManager will be in the chrome process,
so we cannot depend on InputMethodManager from the Wayland server.

We remove the use of InputMethodManager in the Wayland server for
observing keyboard changes by using ImeController instead, which uses
Mojo for communication.

We also add a way of retrieving the current keyboard layout from
ImeController. This is a similar design to how ImeController handles
caps lock, but it's simpler because we never need to set the layout
from ash side. Changes to layout on the chrome side just propagate
to the ash side from ImeControllerClient to ImeController.

Bug: 772382
Change-Id: I84df1ee1b7e0f54716125fec9d4cd49f3442ed79
Reviewed-on: https://chromium-review.googlesource.com/961505
Commit-Queue: Darren Shen <[email protected]>
Reviewed-by: Scott Violet <[email protected]>
Reviewed-by: Oliver Chang <[email protected]>
Reviewed-by: James Cook <[email protected]>
Cr-Commit-Position: refs/heads/master@{#543958}
11 files changed