OpenGL: Fix swizzle code again for alpha textures

My prior code was incorrect;  I mixed up the two parameters, the
GL_TEXTURE_SWIZZLE_* parameter specifies the target channel, and the
value itself specifies the source channel.,  If that makes sense.
Add glad opengl loader
Move from glLoadGen to GLAD
Add GLAD project and add to VS solution
Add Settings entry to File menu

This automagically creates a (localized?) Preferences entry on OSX as well
Fix #66 Display Capture for HiDPI displays

kCGDisplayStreamSourceRect takes points rather than pixels
Track properties window lifetime via QPointer

Previously the properties window would sometimes not receive
a closeEvent, leaving a dangling pointer in OBSBasicMain (and resulting
in a crash when trying to open a new properties window or closing
the application)
Allow hiding the cursor for Display Capture
Merge pull request #65 from BtbN/glad

Move from glLoadGen to GLAD
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
Fix crash when closing windows via the X title bar button

On OSX clicking the X title bar button immediately destroys "all" native
windows (after sending a close event) which causes
[NSSurface _disposeSurface] to crash if invoked while GL is using
the surface