Viewer integration with libpurple, using it for generic IM services. 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.