Added abstract module and messed up page
Refactored a lot of modules.

Updated code to match the new 0.0.3 features of extendable.js

Instantiation of object's is no longer done by obj.init(),
but it's using a classical new Obj() pattern instead.

Both the constructor and the instance have the .extend() function,
but they behave differently.