Fixed spairs bug. Started module work

spairs was not returning i as the first return, resulting in various
issues. Fixed.

Started implementing the module system. Split INIT into 2 portions,
allowing all modules to finish loading before class initialization.