Use smaller textures in compressed texture size limit test

MAX_CUBE_MAP_TEXTURE_SIZE does not communicate memory constraints, but
only texturing hardware capabilities, and is required to be at least
16384 in OpenGL 4.1+ drivers, which makes actually being able to allocate
the maximum size cube maps out of reach for many implementations. Do not
test maximum size cube maps but instead limit testing to cube maps
consisting of at most 2048x2048 textures. This will still hit the limit
on hardware that implements minimum requirements of OpenGL ES 3.0.

The test still checks that trying to allocate textures that are larger
than MAX_CUBE_MAP_TEXTURE_SIZE will generate an error.

In addition, use rectangular textures instead of square textures to test
TEXTURE_2D maximum size limits, which will conserve GPU memory without
affecting test coverage.
Take array buffer size limit into account in compressed texture size limit test

This is mainly for future-proofing the test, in case more space-consuming
formats are added or texture size limits rise to 64K+.
Merge pull request #418 from NVIDIA/texture-size-limit-cube-map-coverage

Use smaller textures in compressed texture size limit test