Bug 973450 - [settings] refactor Device information panel with AMD patte...

separate hardwareInfo retrieval and check update function into separate modules, and make related tests works in AMD.
I prefer to move this line to `setup()` and pass needed elements to constructor function, in this way, we can make sure hardwareInfo is totally new every time.