work around tpo bug #10017 by extending StandardIO to take stdin/stdout fd params