Ensure sizes passed to OBS are actual pixel sizes

This should fix GS rendering on surfaces on HiDPI displays; moving
windows between displays with differing pixel ratios currently requires
a manual resize
Use high resolution GL surface when available
Resize preview when OBS windows are moved between monitors

This should fix the previews in most cases when moving between monitors
with differing pixel ratios