Unify WindowBuilder and HeadlessRendererBuilder for easier implementations