Private Group List UI
This MR implements the UI for the list of private groups.
It reacts to three types of events to refresh the displayed data:
- new group message received
- private group added
- private group removed
Missing from final implementation:
- entering groups
- adding new groups
- reacting to a future group dissolved event
- actually removing a dissolved group
Closes #660 (closed)