chore(genDocs): create docs generation script
feat(component): Support expressions and mapping to controllers

@NgComponent(
    template: r'<content></content>',
    publishAs: 'ctrl',
    map: const {
        'attr': '@ctrl.attr',
        'expr': '=ctrl.expr',
        'ondone': '&ctrl.onDone',
        'onOptional': '&ctrl.onOptional'
    }
)
class IoControllerComponent {
  Scope scope;
  var attr;
  var expr;
  var onDone;
  var onOptional;
  IoControllerComponent(Scope scope) {
    this.scope = scope;
    scope.$root.ioComponent = this;
  }
}
refactor(directive): move selector to common root.
chore(selector): remove unused API for startWith
fixe(genDocs): exécutable permissions
chore(test): move test only code into test.
feat(selector): support complex selectors on element
feat(ngModel): input directives are broker up by type.
fix(zone): remove dump from spec
docs(NgComponent): document component meta-data
feat(component): call attacch()/detach() method during component life-cycle
doc(NgDirective): added selector, visibility