Bug 816912 - Keyboard Manager to support 3rd-party keyboard
    1. manage running keyboard layouts in System app
    2. generat new mozSettings array for keyboard app, setLayoutEnable
and saveToSettings fn in keyboard helper.
    3. keyboard helper will send 'keyboardsrefresh' event when
'mozSettings' change.
    4. Bug 885692 - To integrate with the new keyboard switching API. for km
    5. Bug 902830 - Use new chrome event for keyboard manager.
Bug 858383 - [Keyboard] Integrate the new keyboard manager with switch
and show layout list functions in Keyboard app.
 1. Modify keyboard manifest to expose entry points as input methods.
 2. Modify keyboard init logic to interact with new keyboard manager.
 3. Add the Keyboard2 app to test the integration of new IME framework.
 4. Make use of inputContext in keyboard app.
 5. Bug 885692 - To integrate with the new keyboard switching API. for keyboard app
Bug 856910, Bug 893557 -
1. Add Observable, ObservableArray, and ListView to Utils.
2. Add unit testing.
3. Implement the keyboard panel based on the UX spec.
Bug 899073 - inputContext.geText() whould return Promise
Refine keyboard app manifest to address timdream's comment
Modify keyboard settings/helper/manager for manifest changes - to use name property instead of the entry_point key as the layout name