Ftdi scratch

This was originally meant a scratch to be redone, as far as I recall the code isn't too terrible, but if you think I need to clean up more and split FtdiInterface into seperate .h and .c files I'll be happy to sit down more on it.

I really wanted to do more work before I sent the pull req but I see I haven't had time to work on it for a while and it's a pity to let it sit. 
  for (int i = 1; i <= interfaceCount; i++) {
    AddPort(new FtdiDmxOutputPort(
        this,
        new FtdiInterface(m_widget, static_cast<ftdi_interface>(i)),
        i,
        m_frequency));
  }