Remove native object sending, and add Native::Object

Native::Object can be used to wrap native javascript objects, and
forward methods to them using method_missing and [] and []= methods.

This commit also removes support for sending methods directly to natives
as it relies on the generated code using a method_missing hook that will
soon be depreceated.