Bug 1102831 - Implement user dictionary UI to KeyboardSettingsApp

- Only stores the list of words to indexedDB and NOT the generation of dictionary blob, for now.
- Style KBSettingsApp to resemble Settings app more, pre UX request.
- KBSettingsApp now contains multiple panels & dialogs, and thus a PanelController has been added to control the transition sequence, with similar structure in Settings app.
- Add build integration test for handwriting and user dictionary settings