cmake: add new include dir and objc++ .mm files

.mm are the objective-c++ files
Add new Platform* header files. Scripts run on mac now.

Just an initial attempt at some platform specific stuff. For now,
it is only for getting the scripts dir. Current code depended on
the current_dir+"scripts/", but current_dir might not be correct,
like in the case of mac app bundles.

This just adds a function GetScriptsPath(), with platform specific
implementations. For Linux, it should probably be updated to use
getcwd().

Also, todo: the linux and windows implementations should really
return an absolute path, and then rename this method to indicate that.

Feel free to refactor to a better approach to handle this. pimpl-like?
[mac]: Fix build

This patch was reverted, maybe by mistake. This is required though, and
looks like a legitimate issue. If we really don't want local variables
starting with small letters, then the line needs to be changed to:

std::unique_ptr<Engine> Engine(  new class Engine( TITLE, WIDTH, HEIGHT, 0, 0 ) );

(See: http://stackoverflow.com/a/15317235/187951 )

commit 4e158b5682f22cbb8878eb4ff5e905686248e7e6
Author: Ankit Jain <radical@gmail.com>
Date:   Fri Dec 19 16:02:02 2014 +0530

    [mac] Fix build

    clang errors out at:

    std::unique_ptr<Engine> Engine(  new Engine( TITLE, WIDTH, HEIGHT, 0, 0 ) );

    /Users/radical/dev/engine/src/main.cpp:25:39: Must use 'class' tag
    to refer to type 'Engine' in this scope
    /Users/radical/dev/engine/src/main.cpp:25:26: Class 'Engine' is
    hidden by a non-type declaration of 'Engine' here

    Changed that to name the variable 'engine'. IMHO, that is better anyway,
    local vars shouldn't start with a capital letter.