Code cleanup.
3D textures _are_ available in OpenGL ES 3.0.
Update OpenGL support.

Don't be too optimistic :-)
Doc++
Split Texture into TextureArray, MultisampleTexture and RectangleTexture.

Each texture has slightly different usage requirements and having
everything under one generic class is not worth the additional runtime
checks and whatnot. The current way with Texture::Target enum
(hopefully not too widely used) is now deprecated and will be removed in
some future release. However general Texture1D/2D/3D usage is not
changed in any way.
Better texture attaching in Framebuffer.

The previous way was half-working at best, as it handled array textures
improperly. Now there is overload for each texture type. The old way
with attachTexture*D() is marked as deprecated and will be removed in
future release.
Shader: ability to use version directive from shader source.
Publicly inherit AbstractTexture in BufferTexture.

There isn't anything to hide anymore.
Allow method chaining also on BufferTexture.

There is only one configuring function now, but still, be consistent
with the rest.
Removed now duplicate extension support status, added some TODOs.
Fix compilation on GCC 4.7.
MeshTools: fix obvious out-of-range access in tipsify().

Spotted by MSVC compiler (which does range check on everything). This
was probably harmless, as the out-of-range memory wasn't accessed
afterwards (the for cycle would end right after that because vi == 3),
but it was firing the assertion so it's better to have it fixed.
doc: explicitly mention that given extension is needed for ES2.

ES2 extensions which have equivalent in ES3 are not available there.
Removed redundant `Buffer` suffixes from FramebufferBlit enum.

The old values are now aliases to new ones, are marked as deprecated and
will be removed in future release.
Audio: use std::reference_wrapper instead of pointers.

I'm still learning.
MeshTools: reworked combineIndexedArrays().

Added combineIndexArrays() function, which can combine any number of
indexarrays (i.e. number specified at runtime). The function originated
in ColladaImporter plugin and is moved here to make it useful elsewhere.
It is now used as base for combineIndexedArrays(), which is further
simplified without unnecessary functor-like implementation. Also
improved documentation.

The combineIndexedArrays() function now takes std::pair instead of
std::tuple, the previous version is alias to the new one, is marked as
deprecated and will be removed in some future release.
MeshTools: reworked removeDuplicates().

It now returns new index array instead of operating on already existing
one and also custom vector size is removed. The internal implementation
is now much simpler and cleaner. The old way (but still without custom
vector size) is now alias to the new implementation, is marked as
deprecated and will be removed in future release.

Renamed the parameters and reworded the documentation so it doesn't talk
about vertices, but rather about generic floating-point vector data.
MeshTools: cleaned up duplicate().
package: enable everything possible in ArchLinux PKGBUILD.

Not enabling optional Platform classes, as they would introduce
additional dependencies.
doc: moved GL-related TODOs where they belong.