Fix for codiad issue #450 / collab improvements

I found the only mechanism in place that pushes your client-side changes to the server-side copy is the 500ms synchronize interval, which stops when the collaboration logic stops, and that stops after the initial sync unless there is another user online. So I believe a piece is missing and I added a throttled onChange event that will also push changes to the server, making it more responsive. Another addition was firing the initial $synchronizeText right away instead of waiting for the first 500ms interval.

This still needs to be tested, I'm continuing to test it. It heavily improves the jumbled text issue for a single user. For collaborative, it is actually extremely responsive! But be warned! If you log in with multiple instances on the SAME user to test collab, it doesn't seem to work and it actually gets out of sync. But that's not really intended use anyways so you shouldn't be doing that :)