cocoa_common: avoid the opengl view to leak it's state

Just because everything is in a single file it doesn't excuse us to have high
coupling between C and ObjC code.
cocoa_common: remove unlocking from fullscreen function

This was added in the past to prevent a deadlock, but is not needed
anymore.
macosx_events: remove duplication

refactoring: extract method `handleMPKey:withMask:`
macosx_events: send a `release all` after key up events

This prevents keys to become stuck due to changing keyboard modifiers during
the key down. Not the prettiest approach but event `x11_common` does it like
this.

Fixes #210
osc: add fade in/out effect

can be configured using the "fadeduration" option, 0 = off

Implementation currently a bit ugly, but looks good enough for short fade durations.
Merge remote-tracking branch 'origin/master' into lua_experiment