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.
Oops!!
dirname is not used, and ext is used when it goes to if true case.