Streamify template bindings

Necessary to merge:

- [x] stream chains should be composed of KeyStreams
- [x] make view context a stream with keyword resolution layered into it
- [x] fix itemClassBinding
- [ ] fix stream & binding teardown
- [ ] fix places where we were using registerObserver / render queue
- [ ] add stream tests

---

Other nice things that should be done:

- Context streams should be chained off of parent context streams.
- Defer Stream#notify to the render queue?
- Make `this` in a helper be the view that is invoking the helper
- Refactor `ViewHelper.*` methods
- Refactor `viewHelper.call` calls in various helpers
- Don't rerender bind views when context changes

The present API is:

- If the path is `'controller'`, return the resolved value of the path.
- Else, while the path resolves to a controller, append `'.model'` to path. Then return the resolved value of the resultant path.

This logic is kind of hairy to implement with streams because streams aren't supposed to "know" their original path, but I've added a couple hacks (behind underscores) in ContextStream to accommodate for this. We should move away from these patterns in the future.