use 2 ptys for stdin and stdout/stderr, because pipe stdin will cause some problems
fix reading after child exit issue
fix bug: unread buffer from process wont show in stdout
handle stdin tty echo back in interact mode
add read functions, tests