Added config and filesystem components.
	- The config component will use the 3pp JSON parser to parse
	  the configuration information.
	- The filesystem component provides an abstraction towards the
	  filesystem and is used by the config component to read the
	  config file from disk.
	- GoogleTest was removed for now.
Updated 3pp JSON parser after static analysis.
Added debugging utility module. Introduced exceptions and smart pointers.
	- UtilDebug defines the one and only exception class that should
	  be used throughout the engine.
	- std::unique_ptr is used as a low-overhead way to ensure
	  exception safety and enforce ownership rules of dynamically
	  allocated memory.