Refactor the current ProducerClient into two separate classes.

PerfettoProducer represents a perfetto ProducerEndpoint and is used by
trace writers to write to perfetto.

PerfettoTracedProcess holds singleton data that perfetto requires to be
global.

There is no behaviour changes in this CL but this is a large refactor.

Change-Id: I60b225bc5663f193f85e5ff3f67edb40ec430ca0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1578609
Commit-Queue: Stephen Nusko <nuskos@chromium.org>
Reviewed-by: Yusuke Sato <yusukes@chromium.org>
Reviewed-by: Eric Seckler <eseckler@chromium.org>
Auto-Submit: Stephen Nusko <nuskos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#653992}
23 files changed