Shaders: off-by-one error.

Explicit attrib location is supported on GLSL >= 130, not >= 120.
Shaders: don't use explicit attribute location on GL 2.1.
Removing IndexedMesh, part 1: moved enums and related stuff to Mesh.
Inlined Mesh::setVertexCount().
Properly specify pointers for all matrix attribute columns.

Really need some tests for that.
Removing IndexedMesh, part 2: moved all member variables to Mesh.

As Mesh constructor is not exactly trivial, moved it to source, allowing
to hide another function pointer variable.
Saving index buffer pointer only if not using VAOs.

With VAOs it is not used anyway, might remove the member variable for
platforms with mandatory VAO support altogether.
Saving vertex attribute parameters only if not using VAOs.

Same reasoning as in previous commit.
Removing IndexedMesh, part 3: moved last remaining setter to Mesh.

Now only the drawing mess needs to be merged.
Removing IndexedMesh, part 4: merged draw algorithm.

Still source-compatible, next step is to merge the documentation and
remove IndexedMesh stub altogether.
Removing IndexedMesh, part 5: merged documentation, removed IndexedMesh.
Doc++