Add support for proxy widgets

A proxy widget is a widget but uses another for drawing