Makes forced launch handled by shuttle/process()

Forced launches are now run by the shuttle controller through process() instead of in a separate 'thread' launched from the ui.

I'm hoping this will fix #7169 but I can't be sure. At the very least it's one less way for jump procs to be started in parallel, which I think is the cause of that issue.
Just making sure, won't FORCE_LAUNCH be needed here, as it has been with other WAIT_LAUNCH?