No more BitmapCache

All drawables forever
Move whole avatar stack from Bitmap to Drawable
Fix swiping on conversation overview
Punycode can throw index out of bounds
Fix using bookmarks with advanced nicks
Lower message display limit

Serious UI lag and bugs when it gets too big

See https://soprani.ca/todo/302
Don't even try info on domain JIDs when looking for a list of MUCs
Allow any characters in MUC nicknames

Some things are banned by resourceprep that a user might wish to use.

If this happens, then punycode the resource so they can at least join the room.
Always send their chosen nick (not a mangled version) as <nick> in presence.
Always save their chosen nick (not a mangled version) in bookmarks (risky, since
if they try to use this bookmark from a client not supporting this it may not
let them join without changing nick).
If we get a <nick> in presence, then we respect it if it matches the punycode
decode of the resource (this is to prevent spoofing or double-naming since MUC
services won't be validating the <nick> at all right now. May relax this in the
Save their actual nick (whatever we're actually showing, so <nick> if we used
that) into conversation attributes instead of assuming it will match the
Use resource for technical stuff (like PM addressing) and nick for display.

Hilight on both nick and resource so that mentions from legacy clients work.
Can send nick as part of presence
Use libidn for stringprep

Which actually validates according to spec instead of just being lazy.
Only default to new thread when in MUC
postWebMessage requires API 23
Make sure timeout doesn't fire if we get a response and vice versa
120 second timeout for command UI
Allow exploring other channels on the same service as this channel
Allow specifying a timeout for an iq send
Don't crash on bad number in sims
We shouldn't call UI things like switching conversation from another thread
If onboarding and only 1 conversation, that's where we want to be