drm/vc4: Introduce shader validation and better command stream validation.

This is an import of the code I developed up in Mesa against the
simulator.  It rewrites the kernel ABI to support validation of
uniforms, which is required for relocating references to texture
contents.

Signed-off-by: Eric Anholt <eric@anholt.net>
drm/vc4: Rename a struct exec_info argument for consistency with the rest.

Signed-off-by: Eric Anholt <eric@anholt.net>
drm/vc4: Add support for binner overflow memory allocation.

We should probably hang on to some of this memory across renders,
since most renders will want some binner overflow.

Signed-off-by: Eric Anholt <eric@anholt.net>