`Renderer` now requiers `weak pointer to Window` in constructor