[WIP] New client-side editor

Rewriting the CLJS editor to mesh better with Om

### New stuff
- [x] Better buffer queue (combine all operation into one big one)
- [x] Cleaner Om data model

### Feature parity
- [x] Sync edits between users
- [x] Keep cursor position stable