Remove the dependence of ThreadProfiler on SampledProfile protobuf

This change also simplifies the approach to getting the profiler callback
across CallStackProfileMetricsProvider and ChildCallStackProfileCollector
by directly calling ChildCallStackProfileCollector::Collect() or
CallStackProfileMetricsProvider::ReceiveCompletedProfile() from
CallStackProfileBuilder::OnProfileCompleted().

Bug: 851163
Change-Id: Ia9a39510342cf6f4f1e43464b4c54345ba5e4d63
Reviewed-on: https://chromium-review.googlesource.com/1185854
Reviewed-by: Mike Wittman <wittman@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Xi Cheng <chengx@chromium.org>
Cr-Commit-Position: refs/heads/master@{#586729}
15 files changed