[FCP++] ImagePaint: report size to Page Load Metrics

FCP++ currently only sends timestamps to PageLoadMetrics in the browser process.
We need to pass size information along with timestamps. Doing this, UMA and UKM
can figure out whether FCP++ results point to a large or small image.

This CL is about:
1. Refactor ImagePaintTimingDetector to buffer image record other than time as
the metric result.
2. Plumb size information from the detector to PageLoadMetrics.

This CL starts the works from Largest & Last ImagePaint. Following CLs will do
the same change for Largest & Last TextPaint (https://chromium-review.googlesource.com/c/chromium/src/+/1396597)

Bug: 915700
Change-Id: Ie88a71c932eec6c6c85ab93c9e0566e0e1643be4
Reviewed-on: https://chromium-review.googlesource.com/c/1380193
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Bryan McQuade <bmcquade@chromium.org>
Reviewed-by: Steve Kobes <skobes@chromium.org>
Commit-Queue: Liquan (Max) Gu <maxlg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620595}
9 files changed