Refactor contact lists, their adapters and items
This was supposed to be a preparation for #678 to make the contacts lists cleaner and easier to re-use for different use-cases. Turns out #678 can't use this work, but it is probably nice to have anyway.
During this work, support for multiple identities has been removed from the various contact lists.
See merge request !363
Disable EmojiTextView software layer rendering when cache is too small
This needs to be tested if it works as intended on several devices.
See merge request !362
Limit scene transition animations to API 23 and above
to work-around [android bug #224270](https://code.google.com/p/android/issues/detail?id=224270).
This is only necessary if the transitioning view might not be available anymore when the exit transition is made.
Closes#686
See merge request !361
This way the forum and private group client do not need to keep track of
message timestamps themselves and do not need to interact with
post/message factories.
Use constructor injection for controllers
Also made some listeners volatile.
This is part of #704 - if I don't find any other classes that need constructor injection I'll close the ticket.
See merge request !351
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
See merge request !335