Implemented SDL2 Joystick and GameController events
Use SDL2 event API for joystick devices
Implemented GameController API bindings
Updated internal IGamePadDriver interface
Implemented GamePadButtons
Implemented new GamePad interface (WIP)
Display renderer information
Turn 1-element array to ref/out param
Prioritize accelerated formats first

Instead of creating a list of all available formats and iterating
through that, we let the driver decide which is the best accelerated
format to use for the user parameters. If no such format exists, we fall
back to generic acceleration or software acceleration, in turn.

This affects issue #21
Fixed DescribePixelFormatPFD

When using the PFD codepath, we now call DescribePixelFormat to retrieve
an exact interpretation of the pixel format selected by the driver.
Improved WGL mode selection

Fixed WGL_ARB_pixel_format attribute selection for doublebuffering,
stereoscopic rendering and hardware acceleration. Implemented
minimization strategy to select the optimal PixelFormatDescriptor in the
fallback path.
Added WGL_DRAW_TO_WINDOW_ARB flag

Without this flag, OpenGL rendering does not work as expected.

Additionally, all WGL_ARB_pixel_format attributes are expected to be
specified in key-value pairs. Fixed double-buffering and stereoscoping
rendering attributes.
Fixed crash in MakeCurrent(null)

MakeCurrent(null) should set the bound device context to zero.
Merge branch 'wgl_issue21'. Fixes issue #21
Corrected the entrypoint for wglChoosePixelFormat
Use opengl32 instead of gdi32 throughout

Since we are dynamically loading opengl32.dll, we are supposed to use
the wgl version of functions that exist in both opengl32 and gdi32 dlls.
Minor code cleanup

No need to wrap Wgl.DescribePixelFormat, just call it directly.
Load opengl32.dll before gdi32.dll

According to
http://stackoverflow.com/questions/199016/wglcreatecontext-in-c-sharp-failing-but-not-in-managed-c,
opengl32.dll must be loaded before gdi32.dll. Affect issue #19.
Use gdi32 implementations of functions

Several functions are defined in both gdi32 and opengl32. Using the
opengl32/wgl versions did not appear to help with issue #19. Let's use
the gdi32 version instead, as suggested here:
https://www.opengl.org/wiki/Platform_specifics:_Windows#The_WGL_functions
Minor code cleanup