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.
feat(scope): $evalAsync(expr, outsideDigest: true);

Closes #97
fix(lexer): Add a lex error function
feat(expression_extractor): Print a parser
feat(parser): A static parser which supports fallback
feat(parser): fixup: add missing file
fix(expression_extractor): controller assignment