osx: remove compatibility conditionals for 10.6

At this point 10.6 is pretty old and we don't want to supporting old platforms.
I'm killing all the 10.6 compatibility code before doing more refactorings.

Next commits will also use newer Objective-C syntax such as literals and
@autoreleasepool.
cocoa_common: use better power management activity description

Now one might actually undestand why this power management assertion is used
in the first place.
macosx_application: move escape_loadfile_name in this file

This allows to move back osx_common to raw C.
cocoa_common: use cocoa APIs to go fullscreen

This removes a bit of ugly code and bookeeping which is never bad. `drawRect`
needs to guard against different window instances since in fullscreen the view
is wrapped in a fullscreen window provided by the toolkit (a instance of
NSFullScreenWindow to be precise).

The event handling was moved to the view so that it can still get all the
events when in the fullscreen window. Ideally these should be moved to
some NSResponder subclass within macosx_application and made available even
when no window is present. I refrained from this because "small steps".
macosx_application: use @autoreleasepool

I don't even want to know how this worked. It scares me a lot.
cocoa_common: fix a bug in window initialization error

We didn't bail out soon enough. Bug was introduced by 134f3e97.
macosx_application: refactor filename escape

Use Objective-C's new literal syntax to make the code simpler.
macosx_application: refactor psn matching code

Objective-C is shorter / more readable than snprintf.
cocoa_common: fix native-fs state saving

`opts->fs = VO_FALSE` was forgotten
cocoa_common: refactor fullscreen code for readability

Break up the code into several methods and reduce code duplication. Also add
comments to make the intention of all this clearer.
cocoa_common: fix mouse hiding outside of player view

This bug was the result of crappy position detection in the previous code
combined with the commits moving autohide delay out of the cocoa backend and
into the core.

The hit detection was improved and now takes also account of interactions with
the Dock and Menubar. Moreover VOCTRL_SET_CURSOR_VISIBILITY now has an effect
only if the mouse position matches with this improved hit detection. This means
that both interaction with the Dock and Menubar are considered as well as
moving the mouse inside another screen.
demux_mkv: clang: fix -Wunused-function

This was introduced with c0db930d.
cocoa_common: fix empty window when going fs on different screen

Using `enterFullScreenMode:withOptions:` with a screen handle than the current
screen doesn't hide the current window in the current screen. This is a bug in
Cocoa (preparing an isolated test case and sending the rdar later).

To work around this, manually hide/show the window that the toolkit should
hide/show for us.
cocoa_common: fix mouse autohide on MenuBar/Dock interaction

This is needed after last commit. A bug within a bug (yo dawg)! Serious
explaination in the source code comment so that it's not forgotten.
cocoa_common: dehack mouse autohide by clipping view bounds to visible screen

This prevents the mouse to autohide when hovering the dock/menubar without any
particular hack and seems to finally cover all edge cases.
cocoa_common: avoid window creation with VOFLAG_HIDDEN

This takes an approach similar to the wayland OpenGL backend. VOFLAG_HIDDEN
flag semantics doesn't mean "hide the window" but is simply ever used only to
do detection of available OpenGL extensions. On OSX it's possibile to
accomplish this task just by creating the OpenGL context without attaching
it to a drawable.
cocoa_common: don't autohide mouse on mousedown

Previews code allowed to click the same spot for a long time and the cursor
would autohide. No more!
cocoa_common: autohide dock/menubar on fs only if on same screen

Autohide the menubar and/or dock only if they are present in the screen the
player is going to go fullscreen into. I thought the GUI would handle this for
me when I switched 0057aa476 but lack of hardware to test made me embarass
myself yet again.

I reimplemented this feature with nicer code and behaviour. The code checks
separately wether to hide menubar and dock separatly, while the old code used
a single check possibly hiding stuff without need.

Added the key checks as a some category additions to NSScreen for readability.
demux: fix "-demuxer mpegps", don't force demuxer in stream_dvd

Internally, stream_dvd.c returned DEMUXER_TYPE_MPEG_PS, and the same
value was hardcoded to enforced usage of demux_lavf in demux.c. But
"-demuxer mpegps" basically did the same, so that switch was broken
for this format. Undo this and don't request a demuxer in stream_dvd.c.
demux_lavf.c is (probably) good enough to probe correctly with DVD.
Otherwise, we'd actually have to do something completely different to
force the libavformat demuxer.
m_option: fix -vo opengl lscale validation

OPT_STRING_VALIDATE actually did nothing. This made -vo opengl crash or
misbehave when passing an invalid value for the lscale, cscale or 3dlut-
size (the only users for this option type).

The code added with this commit was either blatantly forgotten with the
commit introducing this option type, or somehow lost.