Shaders: what the hell.
Doc++
Shaders: include cleanup.
Shaders: set MeshVisualizer::VertexIndex attribute location to 3.

Locations 0, 1 and 2 will be reserved for positions, texture coordinates
and normals.
Shaders: use location 1 for texture coordinates and location 2 for normals.
Shaders: set VertexColor::Color attribute location to 3.

Locations 0, 1 and 2 are reserved for positions, texture coordinates and
normals.
Shaders: added generic shader definition.

Defines common attributes which are shared by majority of the shaders,
allowing mesh to be configured for the generic shader to be used with any
of them.
Shaders: use generic definitions also in GLSL sources.

So each sourcs doesn't need to be manually rewritten each time the
generic definition changes.
Trade: convenience MeshData*D::has*() functions.

Makes it more intuitive (and shorter) than calling
`if(data.textureCoords2DArrayCount())`.
Extract Buffer::Usage enum out of Buffer class.

Buffer usage is used as parameter in many functions, e.g. in
*Framebuffer::read() and *Texture::image(), but they are rather seldom
used and including whole Buffer.h file just for one enum is just
overkill. The old Buffer::Usage is now alias to BufferUsage, it is
marked as deprecated and will be removed in future release.