Use a custom set of constructors for BasicObject.

Class.new takes an argument (a parent class) but the .new method for regular
classes don't. Defining a custom .new/#initialize method for BasicObject and
its children resolves this difference.