Replaced System.Threading.Timer with custom clock that uses
System.Diagnostics.StopWatch internally and is much more accurate than
before. This should keep the server sufficiently synchronized with the
clients.