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

A critical part of the function is that it defines the behavior of clicking on a button. We need test cases for the case.