WidgetTypeConverter

* WidgetTypeConverter can be used to convert the type of one widget to
another, keeping the other properties of the widget as they are