[Shader] Refactoring
  * Moved Shader::Type to ShaderType
  * Shader is now an Asset<ShaderDefinition>
  * Renamed Material::SetShader to Material::AttachShader
  * Renderable Start, Update and Render are not pure virtual anymore.
  * Renderable checks for mMesh before loading it.
[ShaderFactory] Removed ShaderFactory::Create