Add ScopedLock on Timer destructor

Currently, every time you read or modify the activeTimers set, you use a ScopedLock on TimerThread::lock -- except in ~Timer(), where it should also be done.  Otherwise, I think one may run into trouble, when timers are created/destroyed in different threads.

Obviously, this only affects debug builds, when the activeTimers set is defined.