fix(ngModel): do not dirty the input if nothing was changed

This caused the input to become dirty every time `$commitViewValue` was called, even if no update to the view value was made. For example, `updateOn` triggers and form submit may call `$commitViewValue` without updating the view value.

Closes #7457