[mojo] Add content embedder support for BrowserInterfaceBroker

This change adds BrowserInterfaceBroker support for content embedders.
Currently this is only used for frames/documents.
This change also converts image Annotator clients to use
BrowserInterfaceBroker and new mojo types from
http://crrev.com/c/1474844 as a use case.

Bug: 985113
Change-Id: Iee78e467e2196c68a3c82b98405fad69824d9176
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1752177
Commit-Queue: Oksana Zhuravlova <[email protected]>
Reviewed-by: Tom Sepez <[email protected]>
Reviewed-by: Ken Rockot <[email protected]>
Reviewed-by: Daniel Cheng <[email protected]>
Reviewed-by: Avi Drissman <[email protected]>
Reviewed-by: Andrew Moylan <[email protected]>
Cr-Commit-Position: refs/heads/master@{#687813}
21 files changed