The UIDartState is now always owned by the isolate and always freed in
the isolate cleanup callback.
In the isolate shutdown callback, if the isolate being shut down is the
main isolate, the RuntimeController is informed which in turn notifies
the RuntimeHolder and thus the ApplicationControllerImpl. The
ApplicationControllerImpl tears down the whole Flutter application.
This fixes Fuchsia bug: MI4-328
Also, rename SkyViewClient to RuntimeDelegate. These names are more
sensible.
This patch also cleans up the RuntimeDelegate a bit, for example by
removing support for flushing real-time events, which aren't used.