Cocoa restructuring work for libmpv

Here's some preliminary work for your consideration. It's not ready to merge, just a progress report.

With these changes, I can link and run a [super simple client test](https://gist.github.com/frau/10841304) that plays video (in a window created by mpv though, not the client's window) and the audio.

Now the question I have is how to rework cocoa_common to accommodate libmpv... cocoa_common is full of standalone-specific stuff, like most of `struct vo_cocoa_state`, that libmpv isn't going to want. ~~I want to be able to access the IOSurface that `gl_cocoa` generates. Not sure what a good way forward is from here.~~ Have to pass the GL texture through the client API somehow.

This is part of #556.