Add DPI scaling for cursors

This forced a refactoring of all custom cursor code, but that proved to
be a good thing, as I was able to greatly simplify cursor creation
(thanks to recent GDI+ interface improvements).

Cursors will now be scaled to match DPI settings.  At present this is
handled internally, rather than using Windows' metrics for cursor size,
but I will be revisiting that after making some resource file changes.