improve reucrsive watch

This commit improve recursive option of --watch.
With -m or --matchdir option it works to watch files recursively,
and it compiles files which has changed into the same directory structure in --output dir.
These vars will `undefined` on leaving the if / else block scope.