Major refactoring of the Switch core

Major refactoring of the Switch core with the goal of making all of the conditional logic testable, leaving only the system shims (such as `SWEventTap`, `SWAccessibilityService`, `SWWindowController`) and connective tissue (`SWCoreWindowService`) behind.

This fixes #104.
The code below never actually uses `event`, so this change can be rolled back.