Always apply the color grading texture from the first config string.

Also actually use the RSF_NOLIGHTSCALE flag.
add a helperfunction to search and return an existing gradingtextureindex among the configstrings, or add and return a new one
Merge remote-tracking branch 'upstream/master'
allow setting the global colorgrading configstring via "colorGrade" key in worldspawn
add additional set color grade textures starting with CS_GRADING_TEXTURES+1, to reserve the first slot for worldspawn set global color grade textures
Remove r_uiFullscreen

The value of r_uiFullscreen is not used anywhere, and the cvar causes a warning to appear because of two different initial values set for it.
Don't needlessly go through the combined shadertext

ScanAndLoadShaderFiles stores all possibilities for a given hash value in the table and guarantees that we will find the shader text in the table if it exists at all.
The vanilla renderer does this same optimization by default ( r_cacheShaders == 1 )

This optimization improves startup and map load time.
add a helper function for location indexing
reuse location configstrings by index instead of sending duplicate configstrings
Merge remote-tracking branch 'upstream/master'
start modification count for fresh cvars that are created as result of a cvar_get with 0, unless any "set" command called it, start with 1 then

this way we can differ between default-created cvars and explicitly set or via autogen loaded cvars
don't persist cvars that that weren't set, or loaded before; especially don't persist default cvar_get created cvars
this makes sure, that only cvars are persisted, that were at some point set by the user,
while it allows us to change default values of untouched cvars
or even remove old cvars without bothering the users about it, while not disturbing their right of customization
A daemonmap const string fixup.
Optimize the calculation of visvis

visvis calculation is a significant part of map load time for large maps
remove unused sdl_vid.c, an unfinished directx port
[ci skip]
add a transience state keeping variable to all cvars and use it instead of the modification count for deciding whether or not to archive
display the transient state in the cvarlist
use Cvar_Set2 direcly with a NULL instead the resetValue during cvar restart, this will implicitly reset all cvars transient
rename field_t in g_spawn to not nameclash with field_t in qcommon.h and different client files
replace all found manually colored ERROR's and WARNING's with their text in strings with the precolored S_WARNING an S_ERROR define
this effectivly makes the presentation of errors and warnings more consistent