[mojo] Support native types with mojom wire format

Add support for defining custom serialization routines to go between
arbitrary C++ types and mojom struct types with no extra copying
and no manual buffer management.

Part of a series of changes to support custom mojom serialization:

  1. https://codereview.chromium.org/1515423002
  2. https://codereview.chromium.org/1517043004
  3. https://codereview.chromium.org/1524693002
  4. https://codereview.chromium.org/1520153002
  5. https://codereview.chromium.org/1524613002
  6. https://codereview.chromium.org/1526533002
  7. This CL

BUG=569669
TBR=yzshen@chromium.org

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

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


CrOS-Libchrome-Original-Commit: 770743799f563212a30682ec1a3d464cb7a89eae
13 files changed
tree: 316e1a020273eedbac675cbf933af52856769b79
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/