Bug 973466 - [settings] refactor wifi panel with AMD pattern

This patch is still under WIP.
This module should not aware any UI elements. It should only provide status updates via callbacks, events, or observables.