Implement our own less error-prone watching; remove debounce logic
Fix jshint invocation

This did not trigger a failed build because JSHint still exits with zero
status when a file is not found.
https://github.com/jshint/jshint/issues/1405