Replaced the include guard in src/vector.h with a `#pragma once`.
Fix the game loop!

- It now clears the surface to black at the beginning of the loop.
- It now displays the surface on the screen after everything is said and
done.

This should have been done before, but eh!
Added documentation warnings to Label::getSurfaceWidth() and Label::getSurfaceHeight()

The documentation (\warning) states that these functions require a valid
FontRenderer implementation since they generate the cache and therefore
rasterize the text!
Modernized the MenuGameState

- It is now the initial GameState on the stack!

- Basically it's now usable, everything it does has been updated to use
the new code base!

- It is also now being compiled (added to CMakeLists.txt)

- As a plus, the program seems to launch quicker than before, though I
just might be crazy!