[mojo] Add BrowserInterfaceBroker support for service workers

This change adds BrowserInterfaceBroker plumbing for service workers,
as well as support of task runners for binding interface handlers.
It also converts BackgroundFetchService clients in blink to use
BrowserInterfaceBroker as a use case.

Bug: 985110, 985112, 976962
Change-Id: I5c431f3f862cb3ac10d389f8c7afea3734d5bfd5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1742779
Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Reviewed-by: Ken Rockot <rockot@google.com>
Cr-Commit-Position: refs/heads/master@{#686578}
20 files changed