[fidl][cpp] Flatten C++ layers

This should get rid of everything but the _cpp and _cpp_testing targets
for new-style C++ bindings. It turns out that we can just rely on the
linker to throw away unused code rather than imposing the complexity on
engineers or the build system

Currently _cpp_wire and _cpp_natural_ostream still live because they're
used out of tree, but they will be cleaned up soon.

This is takes my gen time (per `hyperfine 'gn gen out/default'`) from
33.1s to 29.0s - a ~15% reduction.

Change-Id: If66fc301e44d48a4dd71a737d3c204d43475825c
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/924835
Reviewed-by: Suraj Malhotra <surajmalhotra@google.com>
Fuchsia-Auto-Submit: Ian McKellar <ianloic@google.com>
Reviewed-by: Mitchell Kember <mkember@google.com>
API-Review: Adam Barth <abarth@google.com>
Commit-Queue: Ian McKellar <ianloic@google.com>
diff --git a/pw_bluetooth_sapphire/host/BUILD.gn b/pw_bluetooth_sapphire/host/BUILD.gn
index b4aeccf..8e0e795 100644
--- a/pw_bluetooth_sapphire/host/BUILD.gn
+++ b/pw_bluetooth_sapphire/host/BUILD.gn
@@ -53,7 +53,7 @@
     ":stack",
     "fidl",
     "//sdk/banjo/fuchsia.hardware.bt.vendor:fuchsia.hardware.bt.vendor_banjo_cpp",
-    "//sdk/fidl/fuchsia.hardware.bluetooth:fuchsia.hardware.bluetooth_cpp_wire",
+    "//sdk/fidl/fuchsia.hardware.bluetooth:fuchsia.hardware.bluetooth_cpp",
     "//sdk/lib/fit",
     "//src/connectivity/bluetooth/fidl:host_hlcpp",
     "//src/connectivity/bluetooth/lib/fidl",