[chromecast] Define BindingsManager interface, implement for Fuchsia.

Defines the abstract BindingsManager API, which generically defines
the interface used by bindings modules to communicate scripts and
and MessagePorts with the CastRunner.

Implements BindingsManagerFuchsia, which bridges the BindingsManager
and chromium.cast.ApiBindings FIDL interfaces.

Add BindingsManagerFuchsia to Fuchsia's gn_all metatarget, so that
it's discoverable by the Chromium build waterfall.

Bug: 953958
Change-Id: I21fd818096d47e0c5d67dc0fb10a6dcf284800a5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1613965
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Luke Halliwell <halliwell@chromium.org>
Reviewed-by: Ken Rockot <rockot@google.com>
Reviewed-by: Sean Topping <seantopping@chromium.org>
Cr-Commit-Position: refs/heads/master@{#661137}
8 files changed