Reland "Do not reveal username value till user gesture."

Original change's description:
> Passwords are not available for a page till user gesture.
> But for usernames it was not implemented. This patch implements
> this: use SetSuggestedValue for username and register
> username_element to gatekeeper, which manages revealing
> the input suggested value to JS after user action.
>
> Along the way, a small improvement was implemented, setting
> the username value only in one place which simplifies the code.

> Bug: 798492
> Change-Id: Ib37637dd861f44b94674c6d0060ebc91dfd73cff
> Reviewed-on: https://chromium-review.googlesource.com/850394
> Commit-Queue: Vadym Doroshenko <dvadym@chromium.org>
> Reviewed-by: Dominic Battré <battre@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#527598}

Original Patch is PatchSet 1.
Flakiness was fixed on CL https://chromium-review.googlesource.com/c/chromium/src/+/859960
This CL differs from original only in small compilation fix in PatchSet 5 (compilation
errors were because of changes in another CL).

TBR=battre@chromium.org

Bug: 798492
Change-Id: Ife2f67ca2cd75372ef388d077acb9d53b47be92d
Reviewed-on: https://chromium-review.googlesource.com/854173
Commit-Queue: Vadym Doroshenko <dvadym@chromium.org>
Reviewed-by: Vadym Doroshenko <dvadym@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528593}
5 files changed