Added section for ES2-compatibility-only features into documentation.
Added ES2-only support for GL_LUMINANCE{,_ALPHA}.

It is deprecated, but many ES2 implementations don't support
EXT_texture_rg, thus this is the only way to have single- and
two-component textures without wasting precious memory. The enum value
isn't exposed on desktop OpenGL and ES3. GL_ALPHA is not supported, as
it doesn't bring any new functionality (it is also single-component
and thus can be interchanged with GL_LUMINANCE).
Platform: #undef another mess from Xorg headers.
Missing #include.
Abort instead of exit from MAGNUM_ASSERT_*_SUPPORTED() macros.
Sanity check for OpenGL version in Context.

I though this check was present since forever, but isn't. Maybe it's
hidden somewhere else.
Minor cleanup in image and texture format enums.

Removed hierarchic and confusing `#ifdef`s.
Fixed typo in TextureFormat::*Bptc* enum values.
Always define TextureFormat::RGB565.

Don't care if its defined or not, makes it very hard to use that value.
Proper reference in TextureFormat enum value documentation.
Reorganize TextureFormat enum a bit.

Special RGB values together, RGBA values together, Depth values
together, DepthStencil values together. Left sized internal formats in
the same order, though.
Fallback for texture storage feature.

It's now possible to call *Texture::setStorage() even if
OpenGL 4.2, ARB_texture_storage, OpenGL ES 3.0 or EXT_texture_storage in
ES 2.0 is not available, the function will internally use sequence of
setImage() calls as fallback.

It seems to me that this behavior is better than forcing the user to
always check for extension presence and then implementing this
functionality again and again. The huge switches for setting proper
image format and type are ugly though, but according to specs they must
be set even if we are sending no data (which is weird).