Feature/separate mac objects

Started by creating O- prefixed Objective-C classes for better integration with Cocoa.

Also performed code overhaul to take advantage of C++ features new and old behind the scenes, including uniform initialization, containers, and assert. Also used Ptr and WeakPtr where possible. Finally, updated Mac sources to prepare for use of Automatic Reference Counting.