Add support for reading remote avatar

I'm just making a pull request so I can keep track of where this is heading.
If you need performance, you should probably cache it outside of convos.