Windows: fix asynchronous build command spawning

On Windows, the GIOChannels used for pipes don't support non-blocking
mode, so we have to make sure we never perform a blocking operation.

To implement this, we buffer the lines on our end.