No...?  It remains a bit of an open question - at what point should data be sent from the subprocess to the main one?

Logical choices:

- send on every write
- send on every flush

Both have problems - send on write is expensive, and can result in weird ordering between the main and background thread outputs. Send on flush only is a no-go, because there is no guarantee that a flush is actually called in multiprocessing cases.  So I went for send on flush, but newlines imply flush in the background threads.