libdeng2: Utility for the pimpl idiom

The DENG2_PIMPL macro makes it somewhat easier to define a private
implementation struct that contains a reference to the public instance.
Shell: Apply the DENG2_PIMPL macro
Shell|Qt: Improved QtRootWidget, added command line and log widgets