remove dependency on socket.io, fallback to xhr polling, clean up dependency madness