Rewrote to use watchdog library; no longer OS X-only

Also has a `setup.py`.