TODO: docs
TODO: I don't like the extra flag in viewport event, should this be
separate?
TODO: resizing directly from inside the event handler on GLFW causes a
loop where the window switches between the DPIs several times and then
gets resized to something extremely wide at the end, how to prevent
this? Is that due to window borders being differently thick?
TODO: there's a GLFW_SCALE_TO_MONITOR that makes the resizing somehow
automagic but it's too automagic for my taste, and should be under app
control instead
TODO: SDL halts all event processing while the window is dragged,
meaning the window only gets resized *after* it jumps to the other
display, which is freaking bad
TODO: Windows supply a "desired window rectangle" in the WM_DPICHANGED
event and it should probably get used, how to hammer it out of GLFW?
Interesting is that GLFW actually calls this but it does nothing
unless GLFW_SCALE_TO_MONITOR is enabled as well. Huh?
TODO: I guess because of the different window border sizes, even under
SDL whers is no feedback loop going back and forth between two
monitors several times causes the window to not be sized as expected
anymore, being a bunch of pixels off (803x607 and such). Not good for
my OCD. Solutions? GLFW is doing some calculations in its
GLFW_SCALE_TO_MONITOR routine, maybe that could get used?
TODO: WM_DPICHANGED can be caught by enabling SDL_SYSWMEVENT that's
disabled by default. Should this one be propagated to anyEvent() as
well? It generates *a lot* of events, however not propagating it might
be limiting for the user :/