Moved qpainter surface backend to separate source file