WIP: Homescreen grouping

Working:
- Creating groups
- Adding/removing items from groups
- Group size limit
- Empty groups get removed
- Multiple groups
- Rearranging groups
- Expanding/collapsing groups
- Transitions
- Saving/restoring (including collapsed state)