pdInput: fix bad coordinates from MouseUp on delayed messages

Explanation in the comments; this fix is most helpful in the IDE, but
could also be relevant on low-end PCs when working with very large
images.
ExifTool: update version number in PD's plugin manager

I always forget to do this...
jcButton: fix nasty SendKeys bug

I can't believe this control uses SendKeys to handle arrow key
forwarding.  More and more it becomes obvious that I need to replace it
with my own button control... <sigh>...
vbAccelerator HookControl: fix hook return code

I probably broke this when I rolled the control over to IDE-safe
subclassing; my bad.
pdLayer: validate incoming opacity changes
pdInput: new custom handler for arrow keys

Good grief, this was a headache-and-a-half, but extremely important for
usability.

One of the things I really want to work on in PD is improved
interactivity with the keyboard.  Right now, keyboard interactions are
pretty barebones, limited to a few accelerators and ESC to cancel
running effects.

In a perfect world, many more tools, dialogs, and other features would
make use of at least basic keyboard interactions (e.g. the arrow keys on
all of PD's custom list UCs).

The problem with handling something like arrow keys is that any number
of parent windows/hooks/handlers can eat the keypresses before they ever
reach your window.  VB in particular is terrible for arbitrarily eating
certain keypresses (see my past fights with tracking the Enter key on
PD's command bar).  Arrow keys compound this further because in a wide
variety of circumstances, we actually *want* the system to handle these
keypresses, e.g. to move focus between command buttons (sometimes) or
move the cursor around in a text box.

The complexities involved have made me very leery to start integrating
arrow support, as each dialog would need a ton of custom handling to
allow customized arrow actions without breaking valuable system default
ones.

But no more!  pdInput now provides a dedicated arrow key handler, which
can be invoked on-demand for any object with an hWnd.  As a first test,
I have utilized it by the layer toolbox.  When the layer box has focus,
arrow keys up/down will now change the active layer, while left/right
will modify the active layer's opacity.  Best part?  Only a tiny bit of
code is required in the toolbox itself.

This seems like a trivial feature, but from the size of this pdInput
update (and the hundreds of faulty implementations not included!) the
backend is more complicated than it appears.  The comments of the
requestArrowKeyTracking() function describe this in more detail, but
basically pdInput will now provide dynamic hooking for controls based on
their focus state.  This allows the system to handle arrow keypresses
for everything except items we explicitly overwrite.  In the case of the
layer toolbox, this allows arrow keys to still work just fine on
something like the opacity text box, despite other controls *on the same
window* hooking the arrow keys in custom ways.

Going forward, I'm going to be providing key event "bundles" like the
new KeyDownArrows() function.  The goal is to provide simple keyboard
bundles that individual UI elements can use as they wish, without
needing to implement a lot of custom code or do complicated keystate
checking.  (For example, the KeyDownArrows function passes all arrow
states as Boolean values, and it automatically factors in NumPad usage
as relevant.  Regular functions can then simply use code like "If
upArrow Then...")
Layer toolbox: support arrow keys for layer changing and opacity

Up/down to change active layer, right/left to change layer opacity (in
increments of 10).