Decide about used extensions on only one place.

Having the same branch cascade twice for debug output and for actual
feature selection is not good for maintenance. Put the extensions into
some list and then make it unique instead.
Moved global data from framebuffer classes to per-context state.

On the way to unify and reduce the "Using optional features" messages.
Moved global data from texture classes to per-context state.
Moved global data from shader classes to per-context state.
Moved global data from Buffer class to per-context state.
Moved global data from Mesh class to per-context state.
Moved global data from Renderer class to per-context state.
doc: actually we have a way to retrieve object labels.

Not sure why I forgot it.
Removed Buffer::maxVertexAttributeBindings().

This queries limit for ARB_vertex_attrib_binding extension, which isn't
and probably won't be implemented in near future.
Enable Buffer::invalidate*Data() on ES.

This smells fishy. The function _does have_ a no-op fallback
implementation to remove the need to wrap everything with an #ifdef
and/or extension check, so why I did exactly that everywhere?
Actually implement the fallback for Renderer::resetNotificationStrategy().

It was documented and all, but wasn't ever implemented.
Get rid of pointers in internal texture implementation.
Use *Image::dataSize() instead of manual buggy size computation.

BufferImage test currently fails.
Fix BufferImage test to pass and retrieve data with proper alignment.
Doc++
Actually make use of EXT_texture_storage on ES2.

Currently it was ignored when deciding about *Texture::setStorage()
implementation.
package: ensure that static libs are being kept in ArchLinux packages.

I forgot to merge my /etc/makepkg.conf.pacnew and thus didn't notice it
until now.
Fix class/struct mismatch.

Thanks, Clang.
Hide yet-unused private function on ES.
Print more information when cannot retrieve OpenGL version.

At least the OpenGL error should be enough to pinpoint what went wrong.