Inotify support

Hi, this change adds support for Linux INOTIFY so it no longer has to poll for file changes; instead the kernel tells it when files are changed. This makes it much faster to respond to changes, and reduces CPU usage.

As I don't know what platform you're/others are on, it will automatically fail back to the original polling solution if the pyinotify module isn't available.