Implement browser side of WebRtc service

This adds the host implementation of the WebRtc service in the browser
process. It implements a new SendMessageDelegate that can send Unido
messages via the WebRtc service running in a sandboxed process.

- The service is launched in SharingServiceHost::BindService with
  SandboxType::kUtility
- SharingWebRtcConnectionHost handles sending / receiving data in
  plaintext as of now, with a follow-up CL adding encryption:
  https://crrev.com/c/2011925
- Signaling of WebRTC is done via FCM messages and passed through
  WebRtcSignallingHostFCM to and from the service

Bug: 1031144
Change-Id: I44884b5debdf3001b82c32e467b07bc0de87c938
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1995660
Commit-Queue: Richard Knoll <[email protected]>
Reviewed-by: Alex Gough <[email protected]>
Reviewed-by: Himanshu Jaju <[email protected]>
Cr-Commit-Position: refs/heads/master@{#735095}
diff --git a/chrome/browser/sharing/sharing_message_sender.h b/chrome/browser/sharing/sharing_message_sender.h
index 1fec4e5..5045d5b 100644
--- a/chrome/browser/sharing/sharing_message_sender.h
+++ b/chrome/browser/sharing/sharing_message_sender.h
@@ -53,6 +53,7 @@
   // Delegate type used to send a message.
   enum class DelegateType {
     kFCM,
+    kWebRtc,
   };
 
   SharingMessageSender(