Bug 1065279 - [settings] refactor Hotspot panel with AMD pattern

We should also remove all event listeners in `onBeforeHide` or duplicate callbacks are added when users enter the panel next time.

Adding event listeners in `init` saves the work but the drawback is, when there are settings changes the listeners still keep updating the UI even the user is not using the panel.