Bug 1055104 - Theme switching panel

This patch adds a Theme switching panel in the Settings app.
You mentioned in bugzilla that "Themes will be packaged in certified theme-apps", so I think there would be high chance that we would let users download themes from market place in the future. If you put all logics inside `onInit`, all functionalities would only be executed once.

So the better way is initialize some variables and bind one-time events here in `onInit`, while leave the others in `oneBeforeShow` (Because you may need to get latest themes and list them every time when users access the panel)