Added window class
Changed to single CMakeLists.txt file
Created external_libs class to manage library initialisation, etc.
Added app_state class
Added input_manager class
Added full screen triangle rendering code with basic shaders
Added uniforms
Added mouse uniform, replaced window width and height methods with one size method