Mojo C++ bindings: introduce MultiplexRouter and related classes.

MultiplexRouter supports routing messages for multiple interfaces over a single message pipe. It supports multi-thread access as well.
This is part of the work to support associated interfaces.

BUG=546067
TEST=Newly added tests

Review URL: https://codereview.chromium.org/1455063004

Cr-Commit-Position: refs/heads/master@{#360903}


CrOS-Libchrome-Original-Commit: 5176a0cd84b342d3d9abcb6ec9060f05a1eaf57c
15 files changed
tree: 397302b62c738c7391369f7ed297d837e6e3765a
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/