src/core/classes: simplified createPrototype() to not need to set 'global' variable and check it in constructors
core/classes: support creation by calling constructor without the new keyword
src/core/BaseClass: added static method .create() to provide another way to create instances of a class