Refactoring some of the GraphicsDeviceManager and SDL2_GameWindow to properly handle user resizable windows

With an XNA 4 game, when the user resizes the window, the GraphicsDevice's back buffer is resized to match. FNA wasn't properly doing this. The device resetting/reset events should also be raised before the client size change event.

These changes refactor some of the code for ApplyChanges so that FNA now properly handles the case when a user resizes the window (predicated on them changing the #define in FNA due to SDL2 not enabling changing the resizable flag).

Testing this side by side with a blank XNA game it seems to work as expected, and it works well for my game-in-progress, but you probably should test with some real world games to ensure this doesn't negatively impact them in some way.
Good catch on the presentation interval. I've moved that back up into ApplyChanges since that doesn't need to happen when resizing the window.

As for the TODO, it probably is resolved now, unless there's some other circumstance that causes device resets. And the TODO in your EDIT is probably fine as is unless FNA changes orientations for some reason. But I assume FNA always reports landscape.