Fixed spot where SDL was assuming that two displays having the same origin means they're the same display. Changed it to check for the same extents instead.

(Sam actually wrote this, I'm just reviewing and checking it in.)
Added SDL_HINT_CTRL_CLICK_EMULATE_RIGHT_CLICK hint which controls whether ctrl+click should emulate a right click on OSX.
Make sure the joystick count is correct when the added and removed events are dispatched, in case someone is watching for them with an event filter.
Mac: Fix a crash with SDL_MAC_NO_SANDBOX.

When we get a kCGEventTapDisabledByTimeout or
kCGEventTapDisabledByUserInput, the event tap would perform an invalid
memory access. void pointers are so fun.

This code only runs if you explicitly build with SDL_MAC_NO_SANDBOX.
Made helper window creation depend on initializing the Haptics or Joystick subsystems.
Added a Linux game controller mapping for the Valve Streaming Gamepad
Fixed bug 2172 - Window loses maximized state when activated

I still haven't figured out why my application is being minimized when I try to raise, it but my previous workaround is causing issues.

For now the correct way to raise and/or restore the window is as follows:

	if ( !(SDL_GetWindowFlags( window ) & SDL_WINDOW_MINIMIZED) )
	{
		SDL_RaiseWindow( window );
	}
	if ( SDL_GetWindowFlags( window ) & SDL_WINDOW_MINIMIZED )
	{
		SDL_RestoreWindow( window );
	}

I will investigate the window state change rules more fully in the future.

CR: Alfred Reynolds