Fix .dds file loading in the rendererGL.

The .dds loader was broken on 64 bit systems, because it used outdated
DDS structs. Also the ad-hoc implementation of texture uploads within the
image loader has been moved to tr_image.cpp, where it belongs.

The DXT1 to RGBA texture decompression has been removed, I think the last
desktop GPU that didn't support DXT1 was the Voodoo3.
Add .crn file unpacker.
NormalMap BC5 compression support.

If the hardware doesn't support BC5, the data is converted to BC3 at a
small loss of precision.
Tyrant slash rate 800 → 700.
Fix minimum wage.
Merge remote-tracking branch 'remotes/origin/master' into gameplay/viech
Gameplay logs: Differ between players and bots, don't log distance to base.
Merge remote-tracking branch 'origin/master' into gameplay/viech
Implement std::hash for Str::StringRef
Add framework/Resource and use it for audio/Sample

This is somewhat WIP, there are a few blocking TODOs,
especially the one near the declaration of Manger::Register
Add the S_{Begin/End}Registration syscalls and use them in cgame
Merge remote-tracking branch 'origin/release-fixes' into gameplay/viech
Allow non-advanced granger to build all unlocked structures.
When close to alien teammates, heal as if on creep.
Unlockable min time 60 → 30, momentum base mod 0.8 → 0.7, kill mod 1.0 → 1.3.
Remove CVAR_ARCHIVE from gameplay cvars.
Fix player count for public votes.

This was broken by commit 552a0421e16b9d864a4d8b61070140ff6c40a0aa.
Resource: introduce a Handle WIP for c&c
Fix compilation of std::hash<Str::StringRef>
Fix a stupid 'optimization' in std::hash<Str::StringRef>