Stop using newtype wrappers in std::rt::io

UnboundedPipeStream is still a newtype since process::set_stdio needs to
look into its internals.

Closes #9667