Fail solution init if missing dependencies

Specifically, check for glBufferStorage() and GL_NV_shader_buffer_load
when needed.
Adapt TextureManager and Texture2DContainer to support dense texture arrays-based storage.
Add TexturedQuadsGLTextureArray solution.

Indexes into an array of dense texture arrays to avoid changing texture
bindings between draw calls.