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.