BasicObject Coercion

When trying to coerce an object of class BasicObject for example to Float via ```Kernel.Float(BasicObject.new)``` the coercion should raise a TypeError.

Until now a TypeError, with a message where ```BasicObject#inspect``` is called, is raised and therefore this results in a NoMethodError.