Do not overwrite window surface created by driver

If a driver's implementation of CreateWindowFramebuffer sets the window
surface, use that rather than overwriting it. A driver may set the window
surface if data cannot be passed via the CreateWindowFramebuffer output
parameters (e.g. surface palette colors).
diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c
index de0bc1c..76097a8 100644
--- a/src/video/SDL_video.c
+++ b/src/video/SDL_video.c
@@ -2319,6 +2319,10 @@
         return NULL;
     }
 
+    if (window->surface) {
+        return window->surface;
+    }
+
     if (!SDL_PixelFormatEnumToMasks(format, &bpp, &Rmask, &Gmask, &Bmask, &Amask)) {
         return NULL;
     }