[added] Singleton template - this is to allow better lifecycle control of the singleton objects by declaring them as members in their controlling classes
[added] initialization of logger,filesystem and settings to Game inline with new singleton
[added] initialization of TextureManager to OpenGLRenderingSubsystem inline with new singleton
[added] Suitable accessors for local versions of the singleton
[added] try catch to game loop for catching and logging errors
[added] std::exception catch to initalization loop to catch and log them safely.
[changed] Game accessors to pointer from reference
[changed] FileSystem to DirectoryTree
[changed] ResourceManager to FileSystem
[changed] Settings to use new singleton
[changed] Logger to use new singleton
[changed] FileSystem to use new singleton
[changed] Settings to use new singleton
[changed] TextureManager to use new singleton