Optimus now changes texture based on distance.

The Resource manager is created with just enough memory to keep the model and two textures which forces the resource manager to release resources when we change between the three textures.

The resource manager had a deadlock which has been fixed so it can now release unused resources.
Merge remote-tracking branch 'origin/master' into Demo

Conflicts:
	GameEngine/ToolKit/Source/ResourceManager/ResourceManager.cpp
Merge remote-tracking branch 'origin/master' into Particles

Conflicts:
	GameEngine/Demo/Source/BaseApp.cpp
	GameEngine/Demo/Source/Level.cpp
	GameEngine/Demo/Source/Level.h
	GameEngine/Demo/Source/Render.cpp