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.