fix(introspection): Search our shadowRoot as well
feat(ng-pluralize): Implement the ng-pluralize directive
refactor(ng-pluralize): Make propertie names clearer
Removing package:js dependency from Angular

Converting all uses over to dart:js. In general dart:js gives a bit better performance and removes a dependency on mirrors.
chore(docs): spelling and grammar
chore(docs): fix documentation typos.
refactor(all): use dart idioms
feat(NodeAttrs): Implement forEach to iterate over attributes
refactor(core_dom/directive): Remove duplicated code
perf(NodeAttrs): Remove one unnecessary call to snakecase

The `_observers` map is now indexed by camelCase names, saving 1 call to
`snakeCase`. `this[attributeName]` was also resulting in calling
`snakecase` on an already snake-name (which is not an error).
feat(NodeAttrs): implement the keys getter and containsKey()