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)
Tbh, I don't really see how this is any better than doing a ```this.grid.items.forEach```, but if you like this style I'm fine with keeping it. I would imagine that grid.items.forEach is just as clean and performs better though.