Adds autoloading of classes and scripts

Classes can now 'require' one or many scripts and/or classes which will
be included when the class is declared and can be guaranteed to load
before any class method (including the constructor) is run.

Mapping can also be set up for autoloading classes and files. That is,
the system can be told to find class x.y.z at the path a/b/c.js or any
other pattern.

Classes can also be registered as loaded. This is so that they can be
compiled into production files and there will be no further attempt to
load them.