Move associated interface helper impls to Blink

blink::AssocaitedInterfaceRegistry and blink::AssociatedInterfaceProvider
are defined in blink/public/common but have only been implemented within
content/common. This is inconvenient if e.g. Chrome sources want to
instantiate one of those types, which is in fact a useful thing for Chrome
to be able to do.

This moves the implementation of the types into Blink so that they are
concrete types rather than virual interfaces.

The immediate motivation here is a need to convert Chrome's Autofill
implementation to use associated interfaces.

Bug: 866616
Change-Id: I9db0906ad0b09fa917f30b838163297703e6f3cd
Reviewed-on: https://chromium-review.googlesource.com/1147923
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Ken Rockot <rockot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579409}
29 files changed