viz: Plumb LocalSurfaceIdAllocation to more places [part 3]

viz::LocalSurfaceIdAllocation bundles a viz::LocalSurfaceId and an
allocation time for that viz::LocalSurfaceId. The purpose of this allocation
time is to determine how long it takes for a surface to get embedded once
an ID has been allocated for it.

There was some concern raised about drift between LocalSurfaceIds and allocation
times and so a previous CL bundled the two together in a class. This CL plumbs
LocalSurfaceIdAllocation to more places to ensure the two quantities remain
in sync with one another.

This CL plumbs LocalSurfaceIdAllocation through VisualProperties which ensures
we plumb valid timestamps from the browser to the renderer.

Change-Id: I4589a5835b82699de106b28cac4a85776975a1bf
Bug: 655231
Reviewed-on: https://chromium-review.googlesource.com/c/1321791
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Fady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606245}
35 files changed