Support passing arguments to Obj-C methods

We use NSInvocation to call objc_msgSend with the given arguments for now, but
may need to switch to libffi later, because the resulting code looks hideous.

In case when the result size is less than the size of a pointer (e.g. char),
NSInvocation seems to return garbage in the rest of the result, so in ObjC we
now manually keep only the last byte of the char.

pointer_t typedef is dropped, since it was confusing and useless.

ObjCObject.id field is now public, because for some reason getfield of it
inside one Obj-C bridged class from another yielded VerifyError (bad access to
protected data)
Minor changes in Obj-C + Java testData

Including NSObject instead of the whole Foundation helped cut down the
execution time twice
Support BOOL as Obj-C method return type
Add hashCode/equals/toString to Obj-C runtime objects

For easier debugging
1