Make read/write more robust under linux.
Replace libftdi/ftd2xx with native serial port code.

This has two advantages:
 - No need to setup ftd2xx library on windows
   (only need the drivers, which are easy to install)
 - No need to unplug/replug when to change device association
   from libusb to emulated serial before doing a firmware
   upgrade / enabling relay mode on linux.
Fix initialization for new timer hardware.