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 has undergone basic testing with 2 collaborators, I'm continuing to test it though. It heavily improves the jumbled text issue for a single user. For collaborative, it helps improve the responsiveness, and since they don't get out of sync nearly as easily, it improves the stability. Just be warned that if you try to test with two of the same user it doesn't work, they have to be different accounts.

referencing issue #450