generated_tests: Test tessellation control shader input.

for every GLSL variable type, generate two tests. One passes a varying of said
type as a scalar from the vertex to the tessellation control shader and one
that passes a two-element array.
Fill the varying in the vertex shader from a uniform and compare
it against the uniform in the tessellation control shader.

Draw 4 patches, tessellate each into a quad that fills a quarter of the
screen.

Also test core profile built-in varyings.
arb_tessellation_shader: Fix large-uniforms test

If this test worked before, it was by accident.

- Declare blocks as layout(std140) for portability.
- Use vec4[] rather than float[]; According to std140 rules, the array
  stride of float[] is actually sizeof(vec4), not sizeof(float), so
  we were asking for a considerably larger UBO than intended.
- Don't insist on an error when exceeding GL_MAX_UNIFORM_BLOCK_SIZE. The
  spec doesn't require it to be emitted.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>