Movim (an XMPP client) covers most of that. I think it's currently working on having a collection of rooms be in one channel, but it already has group chats, group video calls, screen sharing, and permissions in groups.
It doesn't have forums in it, but it does allow users to have blogs.