sapo/Ink — pull request #144 by fabiosantoscode (2013-10-01 21:49:25+00:00)
Title: Require modules with promises

Changing the requireModules (and createModules) implementation to rely on promises. This way we can:

- Make requireModules calls always async (before it was sometimes sync and sometimes async based upon whether the modules were loaded already)
- Simplify the Ink core code greatly (and reduce its size)
- Supply a promise library for our users and modules

The promise library I included is very tiny (it's less than 60 lines of code), so bloat shouldn't be a problem (I've managed to simplify so much, the Ink core reduced in size a bit even though I added the promise library and the Ink.promise() function).

Also, tested a lot of corner cases and fixed a bug that happened with reentrant requireModules calls.