Reland "Add MultiDrawManager state invariants and unittests"

This is a reland of a42e652c07cb05257c404898adf3c9351ac7f768.
It corrects initialization of GLenums in the MultiDrawManager ResultData.

Original change's description:
> Add MultiDrawManager state invariants and unittests
>
> The gles2_cmd_decoder receives untrusted commands from the client and must
> validate that the MultiDrawManager is always used with a valid sequence of
> commands.
>
> Bug: 923282
> Change-Id: Ic61e8d61fce61431d7aa939261608f5f4f06792d
> Reviewed-on: https://chromium-review.googlesource.com/c/1423422
> Commit-Queue: Austin Eng <[email protected]>
> Reviewed-by: Kai Ninomiya <[email protected]>
> Reviewed-by: Kenneth Russell <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#630083}

Bug: 923282
Change-Id: Iea05087d777e294a90f54623075b8ae4cbb1ed31
Reviewed-on: https://chromium-review.googlesource.com/c/1471216
Commit-Queue: Austin Eng <[email protected]>
Reviewed-by: Kai Ninomiya <[email protected]>
Reviewed-by: Kenneth Russell <[email protected]>
Cr-Commit-Position: refs/heads/master@{#636314}
4 files changed