Use native ListModel which require a lot of changes, but should be
much faster than the old way which exponentially slowed down to a crawl.
Also fix some popup bugs (leave/forget).
Not working yet: side pane keyboard controls, proper highlight,
room & member filtering, local echo replacement
Is now strictly about setting up asyncio/uvloop and providing the
functions for QML to interact with it and call backend coroutines.
The appdirs attribute is moved to Backend.