Migrate over to use watch module to support detecting new files

Fixes #8.

I did some light testing with this and things seem to work as expected, and new files are successfully detected and watched.

@nicjansma If you'd like to go this route, we can merge this instead of #7.