title: QextSerialPort::read() does not return until timeout expired but data is available
body: <p>I am using QextSerialPort with Qt 4.8.1 on Win32.  When "polling" query mode is set, and a timeout set using QextSerialPort::setTimeout().  When I call QExtSerialPort::read(), even when data is available, the read function does not return until the entire timeout period has expired, even though it returns with data.</p>
  
  <p>For example:</p>
  
  <pre><code>m_port-&gt;setTimeout( 3000 ) ;
  char data = 0 ;
  int count = m_port-&gt;read( &amp;data, 1 ) ;
  // Returns after three seconds, but count is 1, and data set as expected
  </code></pre>
  
  <p>I would expect it to return as soon a the specified number or bytes are read <em>or</em> the timeout expires - which ever occurs first. </p>
  
  <p>Should this work or am I misunderstanding this interface?  Is there a way of achieving the expected behaviour in polling mode.</p>