Cocoa bindings through libobjc.dylib
Setup listening for window events.
Fixed swap interval.
Restored most window functionality.
Better fullscreen handling.
Bug fixes.
Disabled capturing when changing resolution.

Might be off here, but without capturing it seems like we get a
behaviour closer to that of the PC.
Better handling of maximized window.

Used the “zoom” command before, but it has some limitations (e.g. no
event when zoom is done).
Fixed crashes from callbacks.
Fixed mouse position not being received.
 Cleanups.
Closing should occur in ProcessEvents.
Register mouse drag as well as move.
Added a helper for creating cocoa window infos.
Fixed the HelloGL3 example for the Mac.

Upped versions to make it work on Mac; think this should not be a
problem for most other machines.
Fixed missing Mode value in CocoaContext.

Crashed E.g. GameWindow States example.
Much improved handling of window/border states.
Fixed too high mouse scrolling speed.
[Mac] Add CocoaContext.GetGraphicsMode via CGL

Once the context is constructed, we use GetGraphicsMode to retrieve the
exact GraphicsMode that was selected by CocoaContext.
[Mac] Avoid class conflicts for multiple windows

When creating multiple windows, their classes must have different class
names or they will fail to construct.

This commit ensures their names are unique. It also fixes a potential
memory leak in the Icon setter.