Fix update of validity cache value, so that it reflects the correct
state of FormControlElements.

This patch does a lazy update of validity, avoiding caching stale value.
setNeedsValidityCheck() now does not update validity, but flags it for update.

BUG=400618,403313
TEST=LayoutTests/fast/forms/number/number-validity-badinput.html

Review URL: https://codereview.chromium.org/460343004

git-svn-id: svn://svn.chromium.org/blink/trunk@181422 bbb929c8-8fbe-4397-9dbb-9b2b20218538