adjusting CMake framework to follow nicer practices, and adding an arbitrarily named utility library 'pcx'
added extra utilities to pcx (config, logging, utils) and modified the way the cmake stuff works a bit
working module system with dependencies, abstracted into a 'BaseDependencyContainer'
renaming DependencyContainer to LazyFactory to clarify the class's purpose
module registry now initialises modules in correct dependent order on startup, and invokes module startups correctly
fixing service dependencies and doing some clean up of lazy factory
adding SFML2 support