feat(ui): persist all logs (#7822)
### Description
This PR changes UI behavior so all task output gets persisted to
terminal after the run is finished.
Non-goals of the PR: respecting `--output-mode` for what logs get
persisted.
This PR also ditches the "priority" channel for communicating with the
rendering thread. This was intended to avoid a scenario where tasks were
producing so many events that it took awhile to get to a "stop" event.
In reality this introduces so many race conditions of a "stop" event
causing events that happened not to be processed leading to missing
information e.g. dropping the last line of task output since the stop
event takes priority.
### Testing Instructions
Run `turbo` and verify that logs get persisted under various scenarios:
Cache misses:
<img width="1124" alt="Screenshot 2024-03-22 at 1 56 35 PM"
src="https://github.com/vercel/turbo/assets/4131117/313aa99f-72d8-49b9-b61b-d75d5c9632fa">
Failures (not displaying tasks that didn't start):
<img width="1130" alt="Screenshot 2024-03-22 at 1 55 59 PM"
src="https://github.com/vercel/turbo/assets/4131117/ee019c49-d7a4-4370-a44f-ef4da764bfda">
Cache hits:
<img width="1128" alt="Screenshot 2024-03-22 at 1 55 25 PM"
src="https://github.com/vercel/turbo/assets/4131117/097c1ea8-02c7-46b0-bb16-6fbcc82cf292">
Closes TURBO-2692