Fix retain cycle warnings on two recursive blocks

Recursive blocks retain themselves. This ends up being a retain cycle.
In one case, the retain cycle warning was valid. In another, the retain
cycle is explicitly broken, except clang doesn't know it.

In both cases, switch to capturing an __unsafe_unretained variable
instead.
Ensure unarchived files have paths

When deceompressing an archived ROM, if the resulting path has no
extension, give it the extension of the archive. This allows us to
correctly import/play gzipped .smc files once again.
Adds OpenEmuHelperApp-Info.plist and embeds it into OpenEmuHelperApp.

This should be useful for issue #375, setting NSSupportsAutomaticGraphicsSwitching for OpenEmuHelperApp.

Note: Xcode won’t automatically relink OpenEmuHelperApp in case its Info.plist file has changed, so make sure to remove OpenEmuHelperApp’s executable file to force plist embedding.