Merge pull request #3 from Dirbaio/master

Some things
Undo attribute name prefix for Vertex
Renamed Vertex::Element to Vertex::Attribute. Empty constuctor for MeshBatched.
Nvidia 346 driver behaves weird. Why is glMultiDrawArraysIndirect failing?
Update Keyboard.hpp
Update Keyboard.hpp
Finished up System module docs
Made ShaderPrograms movable objects with public constructors (still NonCopyable). Will do the same with RenderTargets (the only thing left)
Made RenderBuffer movable, deleted operator= and copy constructor from MeshSeparate since it's abstract
Reorganized code a bit
Merged changes from dirbaio
ShaderProgram now deletes the old program when reloading a new one
Added missing code on ShaderProgram implementation
Texture API changes.
Revert "Reorganized code a bit"

This reverts commit 5c2bedc33e02d3fb412940d2aef3d2d7336b02fc.

Conflicts:
	src/VBE/graphics/MeshBatched.cpp
	src/VBE/graphics/MeshIndexed.cpp
Texture API changes.
Make Shader movable, refactor ShaderProgram API
Same bug again.
Fail
Turns out the setFilter was needed. Add it back with a comment explaining why.