Moved monitor from event to meta.
Working towards mac's entry point. It's moving to video.

Entry points of this nature are only useful for gui apps. We can't supply a
general entry point because, on most platforms, tui and gui apps have the same
entry point name, so there is no way to signal to a lib whether to use tui or
gui mechs.

This is ok, because normal tui apps don't need any special initialization.
They just fire off from main(), which is perfect.

Because gui apps are the only bits that need a special, abstract entry point,
and because the video lib must interact with a small state machine during
init, this entrypoint mech is moving to video.
Fixed mac build.

Something happened and CMAKE_BUILD_COMMAND wasn't working. That's ok, though.
On another branch we've already stopped using that in lieu if cmake --build.
Moved entry-point to gui-entry-point.
Merge branch 'mac' into entry-point
macos entry point wip.
(Very) small mac updates. Migrating to linux for primary dev machine.
Wip

- Created most of the parts we'll need except the view<->nsview pair and
the binding.
Wip

- Started implementing cocoa view. Realized that supporting open is pretty
ugly xplat. Committing to hop back on master to remove that.
Merged from master.
Wip

Working through cocoa. Running everything on main thread is getting hard.
Thinking about building dpcs.
Merged from master.
Roughed in all of cocoa/ogl. Lots of testing on mac now.
First round of fixes on mac.

I just found out that objc objects can't go into namespaces, even in objc++.
This will be a sizeable edit. Headed back to linux.
First pass at moving objc into global namespace.
Project now builds and runs, then bursts into flames.
Broke entry-point into dedicated lib.
Mac port is -very- rough, but quadtree demo comes up and runs correctly!
Bashed test code in rules.mk.
Bashed race condition when adding dirty rects from cocoa thread.