docs(NgAnnotation): copyedit and example fix

Closes #849
refactor(NgValue): use the @NgDirective module feature

- Use the @NgDirective module feature to inject an NgValue
instance into OptionValueDirective and InputRadioDirective when
no `ng-value` attribute is present. This results in a much
cleaner design.
- Update `ng-value` API documentation.

Closes #848
fix: imports

Closes #847
refactor(Tests): Refactor tests not to use $.

Closes #844
doc(NodeAttrs): rework class comments, make namings consistent
style: cleanup
feat(ngElement): add support for attributes
refactor(ngSrcBoolean): Remove usage of NodeAttrs
refactor(NgPluralize): remove usage of NodeAttrs
refactor(probe): Remove use of NodeAttrs
refactor(ngclass): use the new change detection
chore: clean up dart2js warnings
test(class): Use .toHaveClass() assertion
chore: fix analyzer warnings
chore(karma): Update karma instructions for WebStorm
perf(element_binder): use every rather than reduce
style: code cleanup
refactor: s/blockFactory/viewFactory
chore(doc): minor doc edits
feat(ng-model): support input type=date | datetime and all other date/time variants

- Add support for input elements of type
`date|datetime|datetime-local|month|time|week`.
- Remove non-UTF-8 characters from some other API comments.

Closes #747