image: Add floating point support.

WIP. Not throughly tested.
gui: load image data via the Image class.

A bit hackish.

A stepping stone to store images with Image class instead of QImage.
d3dretrace: Fix MinGW build.
image: Fix allocation of floating point images.
image: Support reading PFM images.
ui: Handle float images in dumps.
glretrace: Dump depth buffers as floating point images.
gui: show the original pixel values in the surface viewer

Image viewer now holds the original image surface which means
that even though it has to display the flattened version it
can correctly report the exact pixel value on every surface.
gui: make sure that the alpha channel is initialized

For surfaces with less than four channels we weren't
initializing the alpha channel resulting in an image
that had garbage for alpha.
d3dretrace: Dump DXGI_FORMAT_R32G32B32A32_FLOAT images in floating point.
image: Fix PNM dumping for 2/4 channels.
image: Write the scale factor / endianness line for PFM too.
image: Yet another fix for the PFM dumping.
retracediff: Support floating point images.

Via numpy.
image: Non-standard PNM format variant for 4-float images.
d3dretrace: Make --driver work correctly on DXGI1.1

Need to intercept IDXGIFactory1::EnumAdapters1 too.
retracediff: Dump mismtached float images to stdout.

Should have an option in the future, as it will be too verbose in general.
Rescale the image pixels using the full precision.
Merge branch 'hdr-dump'

Support for high-dynamic-range surface dumps.