add peek-char
current write implementation in fact behaves as same as write-simple
fix assert_port_profile to show clearer error message
newline can take an optional argument
add write-char and flush-output-port