Implementing widgets

Initial implementation of the widgets

* Simple widgets have been implemented
* Shape related methods have been removed from viz_impl
* Reference counting has been implemented

Currently, LineWidget has "setLineWidth"; however, this will be moved to the base widget as setProperty()