In fact the idea to have the window hidden until the first call to Display() looks really cool. It makes sense because until Display() is called, the window will show garbage -- so it's not even a hack.
I'd like to know what other users think about it. Would there be any drawback doing this automatically?