Change straps.js to directly use initialize() as constructor function rather than redirecting calls to it.

Should yield some interesting performance improvements.
Finally found a better and faster alternative for this.base() calls, by setting base on the function objects instead.

base can be accessed on named functions very easily, leading to another measurable speed increase. Finally all performance reasons against straps.js are eliminated!
Make sure Base class is named.
Restructure Base.define() / Base.describe() code for easier future removal of legacy support.