gs: less demanding tests for triangle strips.

Commit 2ef33fd introduced some fairly demanding tests to verify that
for each possible input primitive type, vertices are delivered to the
geometry shader in the proper order.

Some hardware may not be able to satisfy all of OpenGL's ordering
requirements for GL_TRIANGLE_STRIP and GL_TRIANGLE_STRIP_ADJACENCY (in
particular, Intel Ivy Bridge requires some workarounds, and I haven't
yet determined whether those workarounds are possible in all
circumstances).

In case the implementation can't get the ordering exactly right, we
still want to make sure that (a) triangle orientation is correct, and
(b) with GL_TRIANGLE_STRIP_ADJACENCY, adjacent vertices are correctly
ordered relative to the primary triangle vertices.

Reviewed-by: Matt Turner <mattst88@gmail.com>
gs: Test that input arrays can be accessed dynamically.

Most geometry shaders access their input arrays using a constant index
(or an index that is constant after loop unrolling).  This test checks
that we get the right results if we access a geometry shader input
array using a non-constant index.
gs: Test corner case for triangle strip ordering with primitive restart.

Verified using the NVIDIA proprietary driver for linux.
!UPSTREAM: Test core GS inputs on GLSL 1.50

TODO:
- Make this work.