- instead of using a protected instance variable, each derived class now has its own private variable
- each derived class also takes responsibility for deleting its private variable
- various API cleanups
- renamed Rewinder and associated dialog to TimeMachine and friends
- changed EventHandler state enum to stronger 'enum class' type (and associated changes to the codebase)
- moved EventHandlerState into separate class, allowing a few files to not need to include EventHandler.hxx (reduce compile dependency)
- plumbed EventHandlerState::TIMEMACHINE into the codebase; still TODO is activate it and add a usable dialog)