Form-associated custom elements: Add infrastructure to invoke restoreValueCallback

This is a preparation to support the state restore feature for form-associated
custom elements.

- Store restoreValueCallback in blink::ScriptCustomElementDefinition
- Add HasRestoreValeuCallback() and RunRestoreValueCallback() to
  blink::CustomElementDefinition
- Add blink::CustomElement::EnqueueRestoreValueCallback()
- Add blink::CustomElementReactionFactory::CreateRestoreValue()

The new code isn't used yet.  This CL has no behavior changes.

Bug: 905922
Change-Id: I93434313dc1043a9e0080a59ae96c23d36750e4f
Reviewed-on: https://chromium-review.googlesource.com/c/1433256
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#625997}
8 files changed