refactor: update to use the new di API

- Switched to new di API throughout.
- Updated tests to use DynamicInjector.
- Added ControllerRegistry and AngularModule.controller. Updated ng-controller.
fix(Zone): dump zone errors into karma console.
feat(block): Support {{}} in attributes mapping to components

Closes #85

A directive/component can now use map @attribute, and
that attribute can now contain {{}}.

BREAKING CHANGE: only transcluded elements can now
contain '.' in the map annotation.
feat(directive): Support one time '!' mapping

Closes #98

`!` - Treat the DOM attribute value as an expression. Set up a one time
watch on expression. Once the expression turns truthy it will no longer
update.