Fix issue with multiple offscreen windows
Specifically multiple offscreen windows that share a single OpenGL context. In this case the old code had an issue with the push and pop of framebuffers getting out of sync. Always push and pop during rendering. This is where we are heading anyhow for the future.