Implemented directive scoping

Directives can now declare their controller visibility (local,
children, direct children) via $visiblity static fields.
Disabled implicit injection on the injector.
Depends on https://github.com/vojtajina/dart-di/pull/7
Style, typo and iit fixes
feat(compiler): gracefully handle empty lists
feat(directives): $cssUrl
chore: load interop.js with karma
feat: add ng-controller directive
feat: add ng-click directive
feat: add ng-cloak directive
Merge pull request #12 from pavelgj/directive-scoping

Implemented directive scoping
feat(directives): Custom inject for BlockLists