Implement Blink wrappers for v8::CpuProfiler

Provides a baseline blink-side implementation of the JS Self-Profiling
API. Adds blink::ProfilerGroup (wrapping a v8::CpuProfiler, tied to the
lifetime of the isolate) and blink::Profiler (wrapping a profile handle
from a v8::CpuProfiler). Gated behind the feature
ExperimentalJSProfiling.

Bug: 956688
Change-Id: I3b8ef9a520cec6227f7bf486123e7ddee3140495
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1612403
Commit-Queue: Andrew Comminos <acomminos@fb.com>
Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#663306}
17 files changed