Bug 1105985 - [Stingray][Home] Edit view and Arrange view

This bug implements edit view and arrange view.
Main changes are based on `scrollable.js`. namely:
- Order of nodes in dom tree no longer corresponding to real order. `scrollable.nodes` keeps the real order.
- Use `transform: translateX()` for every nodes to locate its real position (thus we can implement switch animation easier. (Yes we need to consider performance issues later..)
- Implemented scale()

For smart button:
- added two kinds of buttons. namely `text-and-icon` and `underlined-text`

I found a Semantic Error here. According to comment, we should use the following way, otherwise creating regression:
```
if (this._focusedGroup === this.settingGroup && this.mode) {
  return;
}
```