pdCanvas: convert whole thing to pdInput for mouse events

As expected, this made evident some bugs and weaknesses in various
pdInput features; all should be resolved now, and the canvas UC should
be working better than ever.

Also, a lot of custom cursor code was dropped.  Yay!
pdInput: new MouseWheelZoom event

Since pdInput automatically handles Shift+Wheel -> Horizontal Scroll
conversions, it makes sense for it to also handle Ctrl+Wheel -> Zoom
conversions.  Besides simplifying code in external functions, this has
the benefit of not raising generic Vertical Wheel events when the user
uses Ctrl+Wheel, making it more appropriate for controls that don't
support zooming, without forcing every such function to manually check
Ctrl status.

This will also simplify handling of Zoom-To-Current-Cursor behavior,
which I haven't forgotten about...