Refactoring of marshaler lookup. A marshaler class now defines the types it can marshal using the method signatures. A marshaler method can have any name, must have a signature matching a specific pattern and must be marked with @MarshalsPointer/@MarshalsValue/@MarshalsArray. (#240)
Fixed problem with marshaling of blocks when subclassing ObjC classes that have methods that take blocks. (#235)