add `Document.insert`, `Document.onChange` and `Point._toProxy` with a test case