add `Annotation` class and add members `onChangeAnnotation`, `annotations`, and `clearAnnotations` to `EditSession`

+ doc and tests
_EditSessionProxy : return a mutable list from `get annotations`

Allow the caller to mutate the returned list; it is still not the actual
underlying javascript array, but it can be mutated and used to call `set
annotations`.
Add `_jsArray` and `_jsMap` utility functions and use them to optimize

These have better performance than `_jsify` and should be used for
simple List and Map conversions; complex json-like structures should
still be converted using `_jsify`.
CHANGELOG : add a note about the performance tuning
Annotation : construct directly from proxy object

we were doing an unnecessary _map conversion
EditSession : another performance tweak in `get annotations`

there is no need to _jsify each item in the array
edit_session_test : small tweak to annotation tests
add a new `example/annotations`
Merge pull request #23 from rmsmith/annotations

add `Annotation` class and add members `onChangeAnnotation`, `annotation...

closes #22