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`

Please help me add a comment here (since bug 1105976 has not landed yet): 
```
// XXX: Once https://bugzil.la/1105976 landed, this needs to change to `writeCardlistInCardStore()`
// instead of directly writing data to card store
```