Travis, you can't see it yet, but tis a good thing.

It's kind of a clusterfuck to implement modules. Right now:

  - each module should have a single ns decl, as the first form
  - matching is fuzzy, e.g. you can use subfolders or dots in file
  names.
  - only :require and :require-js are supported. If JS files
  are found, they'll be copied to the output directory, otherwise
  there'll be a warning.

Also it pretty much breaks all the test since Shin::Compiler isn't
aware of all the changes CLI made. In fact, CLI should probably be
made into Compiler and make it flexible enough, or maybe we should
have some pipeline thingy, or... but it's harder now that we have
to handle several modules, possibly at once (e.g. we need to parse
requirements before expanding macros, for example).
Gemfile.lock ... *audible sigh*
Modules work with require.js
Horrible code duplication, but tests run again (slow though.)
Don't reload escodegen all the time.
Somehow, in a shoddy way, modules kinda work.
Modules are going to be harder than previously thought.