cc: Measure compositor timing with finer granularity

Measures PrepareTiles, NotifyReadyToActivate, and
Activation times separately such that idle times
between actions don't polute results when the
main thread is in a high latency mode or when
actions are swap throttled.

Also cleans up how we measure commit times and
adds DCHECKs to make sure we don't ruin the ordering
expectations of the CompositorTimingHistory class.

Recording is only enabled while visible and we have
an output surface in order to avoid cleanup logic
skewing results.

BUG=406158, 500744
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review URL: https://codereview.chromium.org/1192663005

Cr-Commit-Position: refs/heads/master@{#337539}
18 files changed