Eliminate code duplication in all.tests for depthstencil-render-miplevels

No functional change.

Reviewed-by: Eric Anholt <eric@anholt.net>
depthstencil-render-miplevels: Add test for size 273.

When a mipmapped depth texture's size satisfies size > 1 and (size %
16) == 1, this causes miplevel 1 to have a size that is a multiple of
8, but not to be aligned on a multiple of 8 boundary.  This turns out
to be an important corner case for the i965 driver.

Note: in an ideal world, I'd modify depthstencil-render-miplevels to
simply test every possible buffer size from 1 to some reasonably large
size (perhaps 256), but this would produce an impractically large
number of test cases.  So instead I'm just testing the sizes that have
been known to cause problems.
util: Create generic piglit_draw_rect() functions.  TODO: rework.

This patch adds the following functions to piglit-util-gl-common:
- piglit_draw_rect_generic
- piglit_draw_rect_back_generic
- piglit_draw_rect_z_generic
- piglit_draw_rect_tex_generic

These functions are similar to corresponding functions without the
"_generic" suffix, except that instead of delivering vertex position
and texture coordinates to the vertex shader using glVertexPointer()
and glTexCoordPointer(), they deliver to the generic attributes
PIGLIT_ATTRIB_POS and PIGLIT_ATTRIB_TEX.  These functions use VBO's
and VAO's when available, so they may be used when testing core
contexts.

These functions also work with compatibility contexts and with all
GLES versions.  Since GLES1 doesn't support generic vertex attributes,
we fall back to using glVertexPointer() and glTexCoordPointer() in the
GLES1 case.

When building GLES tests, the behaviour of the new _generic functions
is for all intents and purposes the same as that of the pre-existing
non-generic functions.  So to avoid code duplication, the non-generic
functions simply call their generic equivalents in GLES builds.