Very basic locking works.

Todo:

- testing
- docs
- race conditions
- inlines
- list_editable
- what happens when a user leaves a page?
- UI