Mojo: Store interface fields as InterfacePtrInfo

Structs containing interfaces currently store the fields as
InterfacePtr. This is problematic because it prevents such a struct
from being safe to move across sequences.

Given that this is the only limiting factor making struct passing
non-sequence-safe, this changes the storage type to InterfacePtrInfo.

A few places which relied on the old behavior have been updated
accordingly, with varying degrees of inconvenience.

EDIT

Bug: 753431
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation
Change-Id: I765a58a80a44ba61fed93c23a62578fb114a5245
Reviewed-on: https://chromium-review.googlesource.com/764988
Commit-Queue: Ken Rockot <rockot@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Yuzhu Shen <yzshen@chromium.org>
Reviewed-by: Xiaohan Wang <xhwang@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516988}

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