add common base class for QGraphicsObject widgets

This is a huge update for coming changes in rendering. Please use
GraphicsObject instead of QGraphicsObject.