PlzWorker: Introduce WebDedicatedWorker and WebDedicatedWorkerHostFactoryClient

This CL introduces WebDedicatedWorker and WebDedicatedWorkerHostFactoryClient
interfaces to connect blink::DedicatedWorker to
content::DedicatedWorkerHost(Factory) in the browser process.

- blink::DedicatedWorker implements WebDedicatedWorker so that it can receive
  notifications of worker host creation and main worker script fetch in content.
- content::DedicatedWorkerHostFactoryClient implements
  WebDedicatedWorkerHostFactoryClient and
  mojom::DedicatedWorkerHostFactoryClient to intermediate between
  blink::DedicatedWorker and content::DedicatedWorkerHost(Factory) in the
  browser process.

Note that these interfaces can be removed by the OnionSoup, but now is not the
time.

This CL doesn't implement the end-to-end feature of PlzDedicatedWorker yet (for
example, see TODO comments in DedicatedWorkerHostFactoryClient), so this CL
doesn't contain tests. Subsequent CLs will implement them.

See also the class diagram in the design doc for reference:
https://docs.google.com/document/d/1fWsD0oIa5sNDfUFWGJZ41pDo3zzsbFGyQSNdV8nOG4I/edit?usp=sharing

Change-Id: Id5f9ad130fa0696a086220947ff00f3051fbf2cd
Bug: 731604, 906991
Reviewed-on: https://chromium-review.googlesource.com/c/1455838
Reviewed-by: Kinuko Yasuda <[email protected]>
Reviewed-by: Matt Falkenhagen <[email protected]>
Commit-Queue: Hiroki Nakagawa <[email protected]>
Cr-Commit-Position: refs/heads/master@{#631138}
11 files changed