fix(input): improve html5 validation support

This CL improves mocking support for HTML5 validation, and ensures that it
works correctly along with debounced commission of view values.

Closes #7936
Added this so that the input source doesn't have to say `element.prop('ngMockValidity') || element.prop('validity')`

It can probably be done different ways too