Bug 1040598 - (Part I) Move dataPromise to updateInputContextData
Bug 1040598 - (Part II) Centralize keyboard state to updateCurrentKeyboardState
Bug 1040598 - (Part III) Implement LayoutRenderingManager
Bug 1040598 - (Part IV) Clean up KeyboardApp and misc functions in keyboard.js
Bug 1040598 - (Part V) Fix log and test pattern of LayoutManager and InputMethodManager
Bug 1040598 - (Part VI) Always wait for IMEngine before rendering the layout
Bug 1040598 - (Part VII) Remove sync reflow workaround
Bug 1040598 - (Part VIII) Introduce StateManager
Merge pull request #22291 from timdream/keyboard-state-control

Bug 1040598 - Introduce StateManager and remove keyboard.js, r=rudyl