Support polyobject planes in software renderer

Backported from private trunk (it's all my work so shoosh) so other people can check out how it's done (and maybe provide some additional bugfixes? hint hint?)
messing around with how the nights hud renders in non-aspect-correct resolutions/splitscreen (unfinished)

(kill me)
DunceEnchilada had been glared at
Fix -nomouse
Center only on display 1. No more multimonitor span.
Display error window on crash
Fix mouse warping

In some cases, the warp back to center was being detected as a mouse motion, causing all sorts of silliness with the mouse. The workaround is by only using the first motion event and ignoring every event after that, until the next call to I_GetEvent.
Use scancodes instead of keycodes for locale independence.

ONLY US KEYBOARDS SUPPORTED! THAT'S HOW WE DO IT IN AMURRICA
Fix MOUSE4/MOUSE5

MOUSE6-8 will not be supported on SDL2 as there is no interface for them.
Virtual resolutions in OpenGL

Also made fades use core functions if they are available.
Parse GL version correctly.
Restrict mouse to window when in focus
Add support for new HWR functions in win32 and sdl12
Fix second joystick in sdl
Fix compile errors on win32, warnings elsewhere
More warning squashing
Maybe this is the last warning related commit?
Merge remote-tracking branch 'Furyhunter/master'
Merge branch 'master' of https://github.com/stjr/SRB2.git

Conflicts:
	src/st_stuff.c
Changes to how dynamic lights are loaded to make them appear more consistently