mac-syphon: Move release calls to helper function
mac-syphon: Keep old inject settings in case of partial match

In some cases the actual application (bundle identifier) would get
overwritten with a wrapper application bundle identifier when the
application names matched (this happened with e.g., Minecraft)
mac-syphon: Inject the best match(es) only
mac-syphon: List bundle identifier and pid in case of duplicate names
mac-syphon: Track inject status and retry injecting if needed

Some applications defer loading OpenGL until after they are visible as
running applications, which causes SyphonInject to not install a server
on the first try (e.g. Minecraft does this)