Refactor Gpu Peak Memory UMA

Originally we were having each callsite to PeakGpuMemoryTracker provide a
callback to perform UMA reporting. However we had wished to bring the UMA work
directly into the class. Upcoming plans with allocation source metrics would
lead to too much boilerplate code being duplicated in all the callsites.

This change refactors the UMA handling to be within PeakGpuMemoryTracker itself.
With the callsites telling it which type of user interaction is being observed.

Bug: 1001168
Change-Id: I4229025941c8d265af958015713502c63b19800b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2026117
Reviewed-by: Jonathan Backer <backer@chromium.org>
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/master@{#741447}
9 files changed