Modules can now use return values with the exit_module function.
Some return values are predefined, use them by passing special string
to the function.
Most of the functions also switched from a echo "true" to return 0
scheme, which means that every test involving theses functions was
rewritten.
No more need for the reset_vars function, as modules are run in
subshells, thus providing a new scope level.
The case when no modules is specified is better handled, a LÖVE file is
created by default.
A module should always begin with a test to `execute_module` to see if
it should be executed. As modules are always sourced
(even when embedded), a simple `return` will stop the subscript.
Modules are executed in a subscript, so the global space will not be
polluted, and will also be reset after the execution of the module.
This commit also solves some bugs in Makefile and lua parser.