Started to remake GUI system again (for real this time)

GUIElement is now an abstract interface for GUI elements ranging from
labels to buttons to panels.