try to use geometry shader to render cubes
now use SFML in place of GLFW
changed code to clean it with sfml
add abstraction over shader program
add camera and keyboard handling
clean event handler + add camera rotation