Web Library Maintenance

This commit tries to setup the web library in a nice and clean manner so we can start coding away in JS now:
- switched singleton classes to javascript module pattern
- only real classes that need to be instantiated (CWDevice and CWDeviceID) use the prototype pattern now
- renamed classes to have the CW prefix. this keeps them consistent with the native classes and puts them in a kind of “namespace”
- when loading Connichiwa.js the web app can now register for a ready event with the ConnichiwaLoader. when that event is triggered, the Connichiwa object is available and can be used
- websocket stuff has been moved into the connichiwa object