Added shader support to materials

Also fixed a lot of bugs related to materials
Added optional argument to Node::SetParent

Also fixed Set[Rotation|Scale|Translation] within global coordinate
system
Fixed DebugDrawer color
Fixed reference bug
Fixed specular mapping

Also made code clearer
Fixed MD2 leaks
Added light class