Add syncstream, and move TTY over to it.

A syncstream provides synchronous access to a libuv stream, using a
MoarVM DecodeStream (like syncfile does) to handle bytes -> chars. At
least on Windows, things like the REPL and piping files into Rakudo
work out. Note that this breaks pipes; they still need updating to the
new scheme.