GUI

Added GUI classes.
The GUI currently contains a window and button widget.
Buttons can be placed on a window widget or directly onto the SFML
widget. They are positioned relative to their parent, so if a window is
moved the button will move with it.
Clicking on a window will bring it to the top and make the window
controls active.
Clicking on a button currently displays a new page.