Clean up window management

This cleans up window management, so that changing video settings doesn't create a new window, and reloads the FT fonts when we update the renderer.