Improved portability

The entry point is now inside the library. The application must
implement gkAppMain() function which in turn calls gkMain. Can use
GK_APP macro for convenience.
Moved libraries to external/
External libraries are now mostly statically linked.