А зачем собственно autoload всех файлов, если каждый модуль в отдельном файле? Смысл вообще разбивать на модули, если грузится все равно всё?)
Берете любую модульную систему — require.js/browserify/
YModules по вкусу, пишите модули в данной парадигме и у каждого модуля прописываете ровно те зависимости, которые ему нужны.
Т.н. «паттерн модуль» — это, мягко скажем, полумера и кроме data-hiding (заметьте, это даже не инкапсуляция) ничего, собственно, не дает.