Made Base & Element abstract classes
Added $file property definition
Added support for module loading.

To load a module, pass the module name in.  The Module loader works out the class name based on this & instantiates an object of this class.
Corrected comment typo