vk: Create KeyboardUIModel and put state logic in there.

We wish to refactor the keyboard code using MVC in order to reduce the
size and responsibility of KeyboardController.

The plan is to have MVC for both the keyboard (configuration, enable
flags) and the keyboard UI (window management / animations etc.), akin
to how //ash/assistant has both |assistant_controller| and
|assistant_ui_controller|.

This patch creates a KeyboardUIModel, meant to contain information
related to the keyboard window & UI. We'll start by putting the UI state
code in there.

Future patches will move more code into the model and clean things up.

Bug: 964191
Change-Id: Ia2b026874ee72e48a21140cd3db4a0d86b62c7b5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1616826
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#661496}
5 files changed