QPrintDialog - Fix casting print engine

We want to cast the print engine, not the paint engine.

Change-Id: Ia8f11f0215fa066417118fbfbcc921a60282d713
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
QPrinterInfo - Fix isNull() by fixing constructors

The QPrinterInfo copy and QPrinter constructors and the assignment
operator were not taking the shared_null into account, and so any use
of them resulted in a new null QPrinterInfo different to shared_null,
which lead to isNull() always returning true in anything other than
the simplest use case. While fixing this also make the shared_null a
Q_GLOBAL_STATIC.

Task-number: QTBUG-21087

Change-Id: I0beb24088208e9ed58d21ca26b0c8d00b02e5b8f
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>