[dynamicIO] update controller to be non-optional (#72048)
Previously we used the controller a signal for whether the current
dynamicIO prerender should abort early or not. Now we separate the
controller which signals whether we've left the Prerneder phase from the
signal that actually aborts the render in some cases. Now we can always
scope a controller in the prerenderStore and depending on whether we are
filling caches or not we will end the render early or let it continue.
With this change the controller is always provided so we can reflect
this in the type