Major Update #2 (See desc. for details)

- UI library begun
- Keyboard action library begun
- Game interface is now used to create windows (this means only
implementations of Game can have user interfaces)
- Several updates to the manager types (ModuleManager, GameManager)
- Initialization of Modules/Games are now handled through separate
methods in LutzEngine (previously modules were initialized when
startModuleThread() was called).  Now they are initialized through
initializeModule()/initializeGame()
- ModuleThreads are no longer run when they are retrieved from
LutzEngine, and therefore startModuleThread() has been renamed to
constructModuleThread()
- Other small changes