Improve Surface.__init__.

It now properly take account of flags and sample surfaces.
Use .convert and .convert_alpha on load, if necessary.
Implement Surface.get_flags().

This includes the code required to get the flags from a window.
Add SDL_BYTEORDER and related defines to sdl2.pxd.
Add support for creating opengl windows.
Allow images to be loaded before display.set_mode.