Added Mac compatibility

Mac compatibility is untested however, so more testing will be necessary
later.  Also, added a convenient launchApplication() method that will
launch your application depending on the OS.  Also made constants
WINDOWS LINUX and MAC.  On Windows gcc they are not used, so they should
be safe.