Look into ARC
Use the ARC runtime functions for managing the autorelease pool on 10.7
Support for ARC weak-references on 10.7
Try to support "objc_autoreleaseReturnValue"
This probably requires some assembly hacking to ensure that we call objc_retainAutoreleaseReturnValue at the right moment (otherwise the runtime might not notice we participate in this protocol)