A lot of changes ocurred, shaders are no longer deleted, this is bad

|SOURCE|
[Common/MD5]
* MD5AsString returns the MD5 digest as its string counterpart for easy reading
[Common/Matrix4x4]
* GetFloatAsArray copies the contents of the matrix into an array of 16 floats
[Common/Game]
* The material is applied when rendering instead of not
* Changed the contents of the vertices to create an NDC triangle with different
  colours for each corner
[Common/Material]
* GetShader returns the correct MD5 digest instead of the material digest, the
  shader one is returned
[Common/MaterialManager]
* CreateMaterial creates a new entry in the map of material MD5 digests to
  materials and the digest parameter is given the generated digest
[Common/PolygonCache]
* Correctly set the vertex and index counts of new caches to zero
* When binding the VAO, the vertex and index buffers are bound, too
* FlushLine doesn't reset the vertex, index, and polygon counts, nor the
  material ID, this is a temporary measure until the polygon cache is able to
  draw from caches without clearing them if necessary