Fixed String subclassing 

String.allocate should not ignore sublasses and should
pass `self` as `klass` to `W_Object.__init__`

Untagged specs:
 * fails:String.new returns an instance of a subclass
 * fails:String.new is called on subclasses