Optimization: Don't determine the expose if the item is invisible.
Optimization: Don't determine the expose if the item is invisible.

If the item either sets the ItemHasNoContents flag, or if it's invisible
but has child items that are not (and ignore parent opacity), then don't
bother calculating the item's exposed view rect as the item will not get
drawn anyway.

This carves down the number of QTransform::mapRect operations by 25%
when running the Declarative UI calculator transition. We'll proceed
to removing such operations from the markDirty step as well.

Reviewed-by: bnilsen

pruiz/wkhtmltopdf-qt,igor-sfdc/qt-wk,pruiz/wkhtmltopdf-qt,igor-sfdc/qt-wk,igor-sfdc/qt-wk,radekp/qt,igor-sfdc/qt-wk,radekp/qt,igor-sfdc/qt-wk,pruiz/wkhtmltopdf-qt,radekp/qt,igor-sfdc/qt-wk,pruiz/wkhtmltopdf-qt,radekp/qt,radekp/qt,radekp/qt,radekp/qt,radekp/qt,igor-sfdc/qt-wk,igor-sfdc/qt-wk,pruiz/wkhtmltopdf-qt,pruiz/wkhtmltopdf-qt,igor-sfdc/qt-wk,igor-sfdc/qt-wk,radekp/qt,pruiz/wkhtmltopdf-qt,igor-sfdc/qt-wk,pruiz/wkhtmltopdf-qt,radekp/qt,pruiz/wkhtmltopdf-qt,pruiz/wkhtmltopdf-qt,pruiz/wkhtmltopdf-qt