fix: use lazy stdio with TTY-first fallback for process streams
Rewrites process.stdin/stdout/stderr initialization:
- Lazy getters (created on first access, breaking circular deps)
- TTY-first: tries tty.WriteStream/ReadStream when isTerminal() is true
- Fallback: if TTY init fails (Git Bash EBADF), uses guessHandleType
- Non-TTY stdout/stderr use Deno's io.stdout/stderr.writeSync (unchanged)
- Non-TTY stdin uses Duplex with io.stdin (unchanged)
- Removes setReadStream/setWriteStream injection via lazy tty loader
This fixes #33131 where Git Bash on Windows panicked because
isTerminal() returned true but uv_tty_init failed for pipe fds.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>