gsubprocess: Support passing arbitrary fds