Can now Release Window or GraphicsContext whenever

Can create and release windows or graphicscontexts whenever, can remove
and re-pair. Interesting idea here though, since with the right
encapsulation and depending on 3rd party libraries not doing weird
things, I could have each different window running a different type of
rendering. Now THAT is interesting. But anyways, now I need to add more
logs and customizations to the window styles and graphics context