This is a refactoring of our logic for handling screen and GUI scaling. It introduces a ScreenSize class, and removes various width/height stored elsewhere.
This lets us switch to High-DPI mode while easily keeping the GUI scaled correctly.
Since the game uses SDL_WINDOW_FULLSCREEN_DESKTOP, we can't actually resize when in fullscreen, so don't pretend we do. Using
SDL_WINDOW_FULLSCREEN would be doable now, but probably for another patch.
If we ever scale the game view target (which would be nice to have a high-DPI GUI and a fast-enough renderer), this will also let us do it somewhat cleanly.
Probable TODO: fix screenshots, fix atlas, fix the cinematic. g_GuiScale should probably be added back. Also names are probably not perfect.