Instead of relying on the local avatar/displayname of a user, request the data from the server and update the pill if it shows up. This required a slight refactor which means we're not doing everything in `render` now. Also I noticed unknown rooms weren't being rendered _at all_! So now you get something that looks like a normal link but with the room alias/ID in it.