LoadFileAsNewImage: new parameter for returning a preview of PDI images

Used to display a preview image in the Batch Convert window, and
possibly helpful elsewhere.
cBasicBuffer: trim unneeded functions, greatly simplify code

This class is used frequently enough that it was worth the trouble to
trim it down to the bare minimum necessary to support PDI read/write
functions.
pdUndo: add failsafe checks for thumbnails that could not be generated
Greatly improve shutdown performance when multiple images are loaded
Resize UC: add "unknown size mode"

In the batch convert wizard, we need to provide an option for "resize by
percent".  Normally the resize UC will display the corresponding size,
in pixels, of an image resized via percent.  This doesn't work in the
Batch Wizard, however, because the exact pixel size (and aspect ratio)
will vary from image to image.

In this case, we now display the simple message: "exact size will vary
by image".
Batch wizard: implement resize UC, with full support for all resize options

Yay!

Also, this commit gets image previews working again (on the Add Image
wizard page); they had previously been disabled by layers conversion,
and I hadn't gotten around to fixing them.
Layer > Add from file: PDI files can now be successfully added

Adding a PDI file as a new layer will now add a copy of the fully
composited file as a single layer.  In the future, it might be cool to
add all layers as new layers (or provide the user with an option to
select what layers they want), but for now, this is an acceptable
solution.
Greatly harden key functions against errors (and other potential surprises)

Can never be too safe...
Large improvements to image load performance

- Overhauled all interface update code to minimize screen redraws as
much as humanly possible.
- Reduced messaging across the board; basically, all non-error load-time
messages have been converted to debug-only messages.
- Additional failsafe protections against asynchronous metadata
retrieval issues.
- Improved messaging when loading multiple images at once (dynamic
"Loading image X of Y" messages are now relayed).