Bug 936723 - [keyboard] don't allow user to enable keyboard apps that
don't have required trust level.
 - Filter out keyboard apps that do not have input permission and
   correct privilege level.
Bug 935072 - [B2G][Gallery] Crop handles are difficult to grab and move
Merge pull request #13653 from huchengtw-moz/gallery/Bug_935072_crop_handle_hard_to_grab

Bug 935072 - [B2G][Gallery] Crop handles are difficult to grab and move, r=djf
Merge pull request #13693 from RudyLu/keyboard/Bug936723-filter_unprivileged_keyboard_apps

Bug 936723 - [keyboard] don't allow user to enable keyboard apps that
r=gnarf, gary
Bug 936643 - [Settings] Implement ListView.destroy() - r=arthurcc

- Adds `Observable().unobserve` as well as `ObservableArray.unobserve()`
- Adds `ListView().destroy()`
- Adds an element cache for `ListView` so that a re-used element can automatically destroy it's old `ListView`

Closes gh-13724
Bug 933167 - [Settings][V1.2] The settings for third party keyboards will still display after uninstalling the keyboard

- settings.js needs to monitor and emit events for app install/uninstall so that keyboard helper can catch them
- Updated apps.js to use events rather than listen for mozApps.mgmt.oninstall etc itself
- Updated _initInstalledLayoutListView to listen for keyboards changing (otherwise the enable/disable checkboxes are available for applications that are no longer installed)
WIP: using new code to refactor keyboards list to be a list view