Adds fudemental UI classes

 - UIElement is the most basic ui class. It covers everything that has a
   width and height and a position.

 - A UIGroup is a UIElement that acts as a container for any number of
   UIElements. The positions of child elements is relative to the
   container.

 - UIPositioning governs the way an element is positioned relative to
   it's parent. This allows alignment to any side or center of each
   axis.

 - UIText is an experimental ui class made from combining the
   TextRenderer with the UI class hierarchy. It extends UIView for it's
   fudemental behaviour but wraps TextRenderer