Basic engine with Lua integration

A complete overhaul of the basic engine code, including multithreading, an easy-to-use entity component model and basic Lua integration with luabind.

Also contains changes to the build system that were necessary due to incompatibilities between luabind and gcc 4.8.