Bug 973445 - [settings] refactor Sound panel with AMD pattern

We should also test `clearInterval`, `this._setVolume`. And use a fake timer ensuring `this._stopTone` is called in the end.