Mesh now stores its shader(s).

- Mesh stores the shader used to allocate the vertex array.
- The shader is accessible using Mesh.shader().
- Added a Mesh.hasAttribute(name) method.
- Renamed Mesh.lastva to Mesh.vertexArray().
- Checked attributes explicitly in newVertexArray.
- Put VertexAttribute in its own file.
- AxisMesh converted to the new Mesh interface.
- Also updated MultiMesh.