Added wrapper class to handle ncurses window creation and destruction.

This achieves two things:
* All memebers can now be initialized through init lists
* No longer need to explicitly handle curses construction/destruction in Widget
constructor and destructor. This responsibility has been moved to the Window
class.
Implemented methods in Geometry.
Written add_children, redraw and refresh for Widget.
Implemented Label class constructors.

Label is a special case of widget designed for displaying a single piece of
text. It can be positioned as a Widget as all configuration options are
forwarded to the base Widget.