some refactoring biz:

- DRY(er)
- watcher now compiles with source maps
- compileFile function signature now lends to add the ability to watch directories