FreeImageResizeDIBFast: fix error for tiny images

This fixes layer thumbnails for images smaller than the layer box
thumbnail size
pdProfiler: comprehensive new performance profiler

I've wanted to tackle this project for some time, as my current timing
methods in PD are pretty pedestrian (e.g. "Timer - StartTime", which we
all know is not a good solution).

Unfortunately for me, most VB profiling code samples assume coders only
want to profile a single event at a time, which is a dumb assumption.
There are some professional tools available that would probably do a
better job, but they're expensive (http://www.aivosto.com/vbwatch.html).
So as usual, I've decided to roll my own.

To see what pdProfiler can do, run PD in the IDE and investigate the
debug log immediately after start-up, or run PD compiled and take a look
at the /Data/PhotoDemon_Performance_Report.txt file.

pdProfiler works like a standard profiler, with the expected start/stop
timing functions.  But where it really shines is its support for
sub-events, using the "markEvent" function.  This allows you to break a
given timing report into sections, each one defining an event with its
own individual timing report.  This allows for neat things like:

pdProfile.startProfiling "PhotoDemon Startup"
pdProfile.markEvent "Prepare splash screen"
pdProfile.markEvent "Find fonts"
pdProfile.markEvent "Initialize UI"
pdProfile.markEvent "Prepare splash screen"
pdProfile.stopProfiling
perfCheck.generateProfileReport "textFile.txt"

The final report will include not only a timing report for the entire
profile session, but for each individual event as well (including
automatic sorting from longest event to shortest event!).  This makes it
trivial to see which chunks of code take the most time in a given
routine, so I no longer have to waste time optimizing code that isn't
problematic in the first place.

This class has already been very helpful at tracking down some weird
performance issues in PhotoDemon's main LoadTheProgram() function (which
is where I've been testing the new profiler).

Anyway, it should all be pretty self-explanatory.  Unlike most PD code,
this class should also be easy to drop into any other project - only the
FileExist() function needs to be replaced (or removed, if you only want
Debug window reports).

Many thanks to Karl Petersen's article "Measuring Optimizations for
Classic VB", which served as my inspiration for this project:
http://vb.mvps.org/articles/vsm20100518.pdf
gitignore: don't sync performance reports
pdProfiler: finish commenting header
Tools toolbox: placeholder for new Quick Fix tools

I've still got some plumbing to complete before officially tackling
on-canvas DIB modification tools, but I wanted to get the UI stuff in
place so I can start testing non-destructive DIB code against the latest
Undo/Redo checkpoint update.