memory-infra: Finish moving to Mojo (2nd attempt)

This was originally landed in https://codereview.chromium.org/2694083005.
But, it broke webview perf tests, and so, it was reverted. It turned out that
in some scenarios, the memory dump manager is not initialized early enough (in
the browser process). So, now, I initialize it as soon as the UI thread is
created.

Modifications since the original CL are:

- The Coordinator service is created when the UI thread is created
  (browser_main_loop.cc).
- When Coordinator is created, it initializes memory dump manager's TPID
  (memory_dump_manager_delegate_impl.cc).
- To avoid dependency from //services/resource_coordinator to //content the
  definition of the service TPID is moved from child_process_host.h to
  constants.mojom.

I tested the CL by building for Android and running the following with an
android device attached:

run_benchmark memory.top_10_mobile --browser=android-webview
--also-run-disabled-tests

In the original reverted CL, the above command results in
'Unable to obtain memory dump' exceptions. With this CL the test runs
successfully.

An example interaction diagram (to see the large image, click on it):
https://docs.google.com/document/d/1Mz64egjuZ4WsYw9AKKWdTvl0Il706EWdCy24V87R_F4/edit#heading=h.1ku5wcoxqifr

BUG=679830, 697773, 697384, 697062

Review-Url: https://codereview.chromium.org/2734193002
Cr-Commit-Position: refs/heads/master@{#455866}


CrOS-Libchrome-Original-Commit: 0a3a302b6df6458b21b3ce0951c5251413cadc48
3 files changed
tree: f83097348f0be4101c7600ee0514c07dc560137b
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/