gs-shell: Change mode in an idle callback after loading is complete
Otherwise the main context iteration where loading is marked as complete has too much happening in it, and takes many cycles in GTK’s frame clock. This makes the UI freeze for a noticeable fraction of a second.
Partially avoid that by splitting up some of the work here between two main context iterations. The UI still freezes a bit; further work is required.
Signed-off-by: Philip Withnall email@example.com