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
The `ignoreFlags` parameter doesn't seem to be used at all.  If we set it to `[]` here rather than `null` then we could remove the `if(flags)` line in the `testFlags()` function above.