cc: Introduce embedded_surfaces in metadata for surface Ids in draw quads
cc::Surface and SurfaceDependencyTracker used CompositorFrameMetadata's
referenced_surfaces to determine dependencies of a CompositorFrame. This
causes issues when referenced_surfaces contains surface IDs of hidden
windows. Hidden windows do not generate CompositorFrames and so the
parent CompositorFrame would block for four BeginFrames waiting for a
child CompositorFrame that would never arrive.
This effectively reduced the frame rate from 60fps to 15fps. This
CL addresses this issue by introducing an embedded_surfaces set in
CompositorFrameMetadata that only refers to surface IDs for which
SurfaceDrawQuads were generated and thus will be visually present
in the frame.
In a subsequent CL, referenced_surfaces will be renamed to
retained_surfaces and will only contain the set of surface IDs to
which the parent wishes to retain the corresponding surfaces but does
not embed them in SurfaceDrawQuads.
Once generalized frame eviction is complete, we can drop the
retained_surfaces field all together.