Viewer integration with XMPP, and using it for as many services as it can.
XMPP / jabber is a good protocol to base presence, IM, groups, and other
related stuff on. We should do so.
Libpurple is a modular IM system, we could just add a libpurple based IM
system to the viewer, and use that for the XMPP integration.