Store real names for Obj-C methods

This is needed because right now we strip everything after the first colon in
the name, and codegen isn't able to determine the full method name to pass to
Objective-C Runtime (e.g. 'foo:withA:withB:')
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
1