WIP: Homescreen grouping (v2)

Everything is in a group, dividers act as group separators.

Working (to a fashion):
- Rearranging groups
- Expanding/collapsing groups
- Creating new groups between groups
- Saving/restoring collapsed state
- Transitions

TODO:
- Editable group names
- General polish and optimisation (pending Gecko bugs)
We use the collapsing class to trigger layerisation before actually starting the animation (which is done in the requestAnimationFrame after) - this is to partially work around bug 927349, there's not really any need for the collapsing/expanding classes otherwise. As this is only a partial work-around anyway, I think we may as well just remove this.