Use Operational Transform to synchronize text fields in forms.

This fixes bug #5 using @ianb's `ot.js` file.  The hub is used to provide a canonical serialization of the changes, and we use OT to reorder/transpose our deltas if a peer managed to sneak in a change before ours was echoed back by the hub.