Use mingw's gettimeofday()

mingw has a perfectly functional gettimeofday() so use that instead
of having multiple copies of our own version.
diff --git a/common/rdr/FdInStream.cxx b/common/rdr/FdInStream.cxx
index 9f35c9f..a8b3085 100644
--- a/common/rdr/FdInStream.cxx
+++ b/common/rdr/FdInStream.cxx
@@ -23,11 +23,9 @@
 #include <stdio.h>
 #include <string.h>
 #include <errno.h>
+#include <sys/time.h>
 #ifdef _WIN32
 #include <winsock2.h>
-#ifndef _WIN32_WCE
-#include <sys/timeb.h>
-#endif
 #define read(s,b,l) recv(s,(char*)b,l,0)
 #define close closesocket
 #undef errno
@@ -36,7 +34,6 @@
 #else
 #include <sys/types.h>
 #include <unistd.h>
-#include <sys/time.h>
 #endif
 
 #ifndef vncmin
@@ -161,35 +158,6 @@
   return nItems;
 }
 
-#ifdef _WIN32
-static void gettimeofday(struct timeval* tv, void*)
-{
-  LARGE_INTEGER counts, countsPerSec;
-  static double usecPerCount = 0.0;
-
-  if (QueryPerformanceCounter(&counts)) {
-    if (usecPerCount == 0.0) {
-      QueryPerformanceFrequency(&countsPerSec);
-      usecPerCount = 1000000.0 / countsPerSec.QuadPart;
-    }
-
-    LONGLONG usecs = (LONGLONG)(counts.QuadPart * usecPerCount);
-    tv->tv_usec = (long)(usecs % 1000000);
-    tv->tv_sec = (long)(usecs / 1000000);
-
-  } else {
-#ifndef _WIN32_WCE
-    struct timeb tb;
-    ftime(&tb);
-    tv->tv_sec = tb.time;
-    tv->tv_usec = tb.millitm * 1000;
-#else
-    throw SystemException("QueryPerformanceCounter", GetLastError());
-#endif
-  }
-}
-#endif
-
 //
 // readWithTimeoutOrCallback() reads up to the given length in bytes from the
 // file descriptor into a buffer.  If the wait argument is false, then zero is
diff --git a/common/rfb/Timer.cxx b/common/rfb/Timer.cxx
index 5f9c6f2..676f24e 100644
--- a/common/rfb/Timer.cxx
+++ b/common/rfb/Timer.cxx
@@ -19,11 +19,8 @@
 // -=- Timer.cxx
 
 #include <stdio.h>
-#ifdef WIN32
-#ifndef _WIN32_WCE
-#include <sys/timeb.h>
-#endif
-#endif
+#include <sys/time.h>
+
 #include <rfb/Timer.h>
 #include <rfb/util.h>
 #include <rfb/LogWriter.h>
@@ -40,39 +37,6 @@
 #endif
 
 
-// Win32 does not provide gettimeofday, so we emulate it to simplify the
-// Timer code.
-
-#ifdef _WIN32
-static void gettimeofday(struct timeval* tv, void*)
-{
-  LARGE_INTEGER counts, countsPerSec;
-  static double usecPerCount = 0.0;
-
-  if (QueryPerformanceCounter(&counts)) {
-    if (usecPerCount == 0.0) {
-      QueryPerformanceFrequency(&countsPerSec);
-      usecPerCount = 1000000.0 / countsPerSec.QuadPart;
-    }
-
-    LONGLONG usecs = (LONGLONG)(counts.QuadPart * usecPerCount);
-    tv->tv_usec = (long)(usecs % 1000000);
-    tv->tv_sec = (long)(usecs / 1000000);
-
-  } else {
-#ifndef _WIN32_WCE
-    struct timeb tb;
-    ftime(&tb);
-    tv->tv_sec = tb.time;
-    tv->tv_usec = tb.millitm * 1000;
-#else
-    throw SystemException("QueryPerformanceCounter", GetLastError());
-#endif
-  }
-}
-#endif
-
-
 // Millisecond timeout processing helper functions
 
 inline static timeval addMillis(timeval inTime, int millis) {