Add a new option for high-definition textures.
Create the directory where resized textures will be cached.
Use smaller textures when HD textures option is disabled. Generate them if they are not already in the cache directory.
Merge remote-tracking branch 'remotes/upstrem/master' into hd-textures-option
Add subdirectories in the cache directory to organize textures of each track.
Regenerate a cached texture when the original is newer.
Merge remote-tracking branch 'remotes/upstrem/master' into hd-textures-option

Conflicts:
	data/gui/custom_video_settings.stkgui
	src/states_screens/dialogs/custom_video_settings.cpp
Remove the use of cbegin and cend. (c++11 features)
Fix segfault on Linux/Mesa
For some reason, glGetString(GL_EXTENSIONS) is failing. This will need more investigation
Extend caching abilities to compressed textures. Also, improve the structure of cache directories to fit new needs.
Merge remote-tracking branch 'remotes/upstrem/master' into hd-textures-option

Conflicts:
	src/graphics/glwrap.cpp
Clear the reminder of the origin file name of textures in Track::cleanup().
Fix Travis CI build.
Remove accidentally committed file
Better react to small screens
Factorize SSAO in its own code.
Add some more gpu timer.
Add some more perfs counter to post process
Simplify mesh temporary.

Until we move this code to the exporter.
Shadows: Emit an error instead of sending wrong corners.