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)
So one of the things I changed is that you can click on anything in the grid, rather than just app icons - we could probably put this check earlier, but I'd say it's probably a reasonable thing to do as a stepping stone to a more generic item-launching capability.