This one was a bit tricky to figure out what was going on, but this is how it
was working before: Terminals that use extension processes calls
$createTerminal from the ext host, this returns a promise with an ID that gets
returned asynchronously after the process has been setup (ie. an ext host process
proxy was created).
The reason we needed the timeout was because the process initialization is async
as we need a layout to occur so that we have the dimensions of the terminal to
give to the process. The fix could have been setTimeout(..., 0) as well but that
feels hacky as well, the fix in this commit is to pipe an event through from
the process manager which is the actual time when we are good to start telling
ext hosts are the new terminals.
Fixes#77655