Bug 933167 - [Keyboard][V1.2] The settings value of third party keyboard will be kept if uninstalling the in used 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)

**Note:** Still haven't implemented units for this yet