We cant make window visible after createwindow has returned because we
want to loop till the compositor fully creates the window and that loop
requires attaching a single pixel buffer to the window surface which
cannot be done once an OpenGL context is created for the window.
As far as I can see the preshow callback is not used on Wayland for
anything, so this should be OK to do.