Windows portability: types and headers
Windows portability: compiler flags and libraries
Windows portability: implement Mutex using critical sections
Windows portability: #ifdef fork-related code
Windows portability: use Windows thread API directly
Windows portability: use Windows time functions

Since there is no way of sleeping less than 1ms (and depending on the
system, timer granularity might be as high as 15.6ms), make the counting
thread sleep the closest 1ms multiple, and adjust the counter using the
actual elapsed time (which would be a good strategy to use under Linux as
well).
Windows portability: ensure trace file stays close after tracing ends

Otherwise the eval STRING used by the test reopens the trace file to save
the source code, and the file is still open when File::Temp tries to
remove the temporary directory.
Windows portability: different path separator
Windows portability: account for the low timer accuracy
Make "perl Build.PL -g" generate debug information under Windows
Add a note about OS timer accuracy
Mac OS X portability fixes

There is no value here in using clock_nanosleep() instead of nanosleep()
(except to get the accuracy, but that can be left as Linux-specific).
Add debug code to display the actual sample frequency
More accurate counter increments under Linux
More accurate counter increments under Mac OS X
Refactor duplicate code for counter increment