fix(ngModel): minimize jank when toggling CSS classes during validation

Previously, class toggling would always occur immediately. This causes
problems in cases where class changes happen super frequently, and can result
in flickering in some browsers which do not handle this jank well.

/cc @matsko please help review this! It is very much your area of expertise!

Closes #8234