add a socketio client side module

and expose it via the global object unless @stezu you have another way
you want to organize the client-side js
Revert "add a socketio client side module"

This reverts commit 88cd3b6685905e3dc47e4b01ec9f5c36e22b1205.
Revert "Revert "add a socketio client side module""

This reverts commit a4ffc175996e484a39dceb88f0d91470554de7c9.
a bunch of nonsense since i named the file wrong
chat module to handle the chat dom manipulation