Bug 998847 - [Settings] refactor storage.js with AMD pattern

- move dialog into root panel
- rename id to class
- fix marionette test
- un-registered observer when leaving the panel
- add enabled to observer/unobserve
- create separated modules for each menu item
- move usb and media item together
- fix binding
should be `this._updateAppFreeSpace`.