wip: fix(ngModel): don't update when neither validity nor modelValue changed

This is in response to https://github.com/angular/angular.js/issues/9063.

> don't update when neither validity nor modelValue changed

is what it actually does in the code, but is written to do that:

 > don't fire ngChange when an input with ngRequired is initially invalid, but its model is defined.

A better fix would require to find out why `required` fires the observer only once, but `ng-required`fires it twice, see https://github.com/angular/angular.js/issues/9063#issuecomment-59990139
yeah --- so what I think we want to do is ---- yes update the view value, but no don't update the model value.

but I guess we can't do that since we need to parse the view value when validating. Why are we doing that? :(