Bug 963377 - [B2G][Keyboard] Keyboard blocks "cancel" / "ok" options
 - Still reset keyboard state when the keyboard frame is hidden, so that
   the keyboard won't be triggered by the keyboard app after it has
   been dismissed.
Merge pull request #15976 from RudyLu/keyboard/Bug963377-keyboard_covers_value_selector

Bug 963377 - [B2G][Keyboard] Keyboard blocks "cancel" / "ok" options, r=timdream
1. Introduce AMD.
2. Separate SettingsCache, PageTransition, and PanelUtils.
Add buildscript support for settings
1. Add SettingsService, SettingsPanel, PanelCache, LazyLoader
refactor and move _transit in SettingsService
add subpanel loader back
add README.md
refactor + make jshint pass