add readline, handshake and timeout control

incrementally closer to MRI serialport