Support XMPP.

The current support is rather experimental, but already sort of works.
Support for conferences will come later.