Greatly improve image load performance

Careful use of DoEvents allows the separate metadata extraction thread
to receive more data during the load process.  On large images, or
images with complex metadata, this improves performance dramatically!
Fix label that was not set to Autosize
Greatly improve image DPI detection

By default, FreeImage and GDI+ will now try to retrieve image resolution
from the file header (if supported).  If ExifTool is available, it will
perform a second check for resolution data inside the image's metadata,
which is actually a much more common place to find it.

Resolution is also stored as floating-point now, for precision reasons.
Fix DPI metadata parsing issue
Write image DPI out to file (if metadata is preserved)
Add support for Percent-based Resize

Relates to #115

As stated, PD's Resize UC now supports percent-based resize
measurements.  This is actually a very large commit, as a whole
framework has been built for various measurement units, which will make
it much easier to add new units in the future.

There are still some kinks to work out with the way the UC interacts
with the actual resize code, particularly during macros.  The unit of
measurement will need to be passed to the resize sub, so something like
"resize 50%" can be used as a valid macro option.  (Rather than at
present, where "resize 50%" will store the current image's width/height
at 50% as the macro resize event.)