Introduce gpu_fuzzer to fuzz the GPU command buffers

This fuzzer sets up a decoder using the stub GL API and runs an arbitrary string
as a command buffer.

This introduces a maximum size for buckets as well as buffers, because the
fuzzer will rapidly try to create giant ones, running out of memory (and/or
being extremely slow). The limit is kept at 1GB in production, but limited to
8MB in the fuzzer.

BUG=None
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2150803003
Cr-Commit-Position: refs/heads/master@{#405636}
8 files changed