Introducing Qt D3D Compiler service

This is a utility for monitoring and deploying D3D shader blobs
requested by d3dcompiler_qt. It is designed as an on-demand service that
runs while it is needed. It must be started manually via netsvc.

The service may be started from the command line using the -direct
option, or installed as a Windows service by passing the -install option.
After it has been installed, one can use net start/stop to control the
service.

The service supports monitoring applications on the local machine or
remote devices. To register an application for monitoring, call
qtd3dservice -register <device_id>:<application_id>. The device ID can be
an index, or the full device string name. For the local machine, use
"local" or omit the device name. The application ID is the the product
ID for XAP packages, or the package full name for Appx packages.

An application can be removed from the monitor by passing -unregister with
the same arguments as register.

A list of registered applications can be retrieved with qtd3dservice -list.

When the service is started, all registered applications will be monitored.
If the device is disconnected, the service will try to connect for up to
30 seconds before giving up. Once the service has given up, it must be
restarted (using net start). Therefore, it is important that "net start
qtd3dservice" is configured as a deployment step.

Change-Id: I0aac3a8548359602c5e3ada33ceaeb722ec3d3dc
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>