Replaced magic numbers with constants
Removed redundant x86_64 SystemSleep() code.

Internally Sleep() translates to fpnanosleep() already.
minor code formatting - making it easier to read.
using a high resolution system kernel timer.

clock_monotonic is not affected by multi-core cpu's or the new sleep /
power-saving modes of newer cpus.
Replaces low-level do_syscall with clock_gettime instead
Fixes compilation under FreeBSD

Unfortunately FPC 2.6.4 still has outdated support for some FreeBSD
functions. In this case the clock_gettime() function is not defined
for FreeBSD in FPC 2.6.4. So I had to create an ugly IFDEF to use the
fallback fpgettimeofday() on FreeBSD instead. Hopefully the FPC team
will resolve this issue soon.
Updates the unit copyright notice.

 * updated the date
 * fixed spelling mistakes
 * added a new contributor
Adds git helper files to keep the repo clean
Merge branch 'gg-changes'
Fixes the compilation of the demo with FPC 2.6.2 and later.
minor code formatting changes.

I think caused by one of my editors or IDE.
Updated the demo to use FPC Resources and not Lazarus *.lrs resources

* The *.lrs resource usage dates back to FPC 2.4 and earlier.
* Also updated the project settings
  - Lazarus IDE session information is now stored in a *.lps file.
  - Unit output path is now a "units" directory.