Add cursor support to Map, OrderedMap and Vector

The Sequence class now has a few new methods:

* watch -- add a function that will be triggered when the sequence is
  updated. The function is called with the new sequence. Note: The new
  sequence will not have any watchers applied to it.
* unwatch -- remove a watcher
* triggerWatchers -- trigger all registered watchers with the provided
  value
* cursor -- Takes a key path and a callback function, returns the
  collection at the provided key path. Whenever the returned collection
  is updated, the callback function will be called with the entire
  sequence, with the updates applied.

The Map, OrderedMap and Vector classes have been updated to trigger
watchers whenever they are updated. This is what makes the cursors work.
Update built assets with changes from d8f408e