style: some code cleanup

Dart coding convention
Add explicit types
Some refactoring
feat(NgTemplate): @Template replaces @Decorator(Directive.TRANSCLUDE_CHILDREN)

1- Transclusion syntax has changed:

Before:

    @Decorator(
        selector: '[ng-if]',
        children: Directive.TRANSCLUDE_CHILDREN,
        map: const {'.': 'mapping'},
        <other kv pairs>)

After:

    @Template(
        selector: '[ng-if]',
        map: const {'ng-if' : 'mapping'},
        <other kv pairs>)

2- Directive.children has been removed in facor of Directive.compileChildren

Before:

    children: Directive.COMPILE_CHILDREN
    children: Directive.IGNORE_CHILDREN
    children: Directive.TRANSCLUDE_CHILDREN

After:

    compileChildren: true
    compileChildren: false
    Use @Template (see the previous section)
Debug traces
traces