accumulate write data into buffer until read request from ftdi

(and support reads of length 0)
change simple 'non-buffered' write requests to call ftdi_write_data directly

(no need to copy the data into write_data() buffer)