OS X changes:
Make SDLMain be compiled as an Objective C++ file.
Better interoperability between the C++ code and Objective C:
   The Objective C helper functions now return C++ objects, as opposed to c primitives. This also helps with memory management.
Ignore more OS X metadata, particularly files that begin with "._": those files are usually part of extended attributes on file systems that don't support them.
Fix an error when compiling on, at most, 10.9 (missing a header).