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

We suffered by using this pattern before because it hides internal members and makes writing unit tests much more difficult. I would suggest to define the prototype for this module and return a function that returns an instance of the prototype.
```
return function ctor_hotspot() {
  return new hotspot();
};
```