joinjs: recursively scan the directory

this allows us to have a hierarchy with submodules
strip .js suffix from module name