Fuzz multiple quads and SharedQuadState in CompositorFrame.

This CL adds the possibility of multiple SolidColorDrawQuads in the
fuzzed CompositorFrame RenderPass, and also introduces simple fuzzing
for the SharedQuadState associated with each quad.

One thing in particular to watch out for here is that a non-invertible
SharedQuadState Transform will get through message deserialization, but
likely cause DCHECKs to fail when drawing the RenderPass. I expect that
ClusterFuzz will find a few ways of triggering these checks with
different interesting values of |scale_x| and |scale_y|.

R=kylechar@chromium.org, riajiang@chromium.org

Bug: 923088
Change-Id: Ie51340c45c406d235047f6baabf24f947a51722b
Reviewed-on: https://chromium-review.googlesource.com/c/1496096
Reviewed-by: Ria Jiang <riajiang@chromium.org>
Reviewed-by: kylechar <kylechar@chromium.org>
Commit-Queue: Céline O'Neil <celineo@google.com>
Cr-Commit-Position: refs/heads/master@{#636965}
5 files changed