[Mac] Added CFRetain binding
[Mac] Retain CFRunLoop while it is in use
[Mac] Close CocoaNativeWindow in Dispose()

Also fix various memory management issues regarding the `MouseCursor`
and `Icon` properties.
[Mac] Added objc_disposeClassPair binding
[Mac] Do not use Autorelease pool