Undo all my changes and fix these things differently. I have fixed the
flickering at startup by only calling setchildsize one time, I have fixed
room switching by adding a parameter to window_default that lets you
choose whether to only center the window if it was resized. And I also
fixed the delay in screen initialization by not showing the oarent window
until the creation of the graphics context. I will discuss the removal of
the child window from our code base in a forum post.