Update "open image" toolbar button
Move all cursor code to the custom icon module

It didn't make much sense in the generic Interface module, and it's very
closely aligned with the icon code so I prefer it there.
Very cool new function to use 32bpp PNGs as cursors

This is a highlight feature for me, and one that took way too much work
to reverse-engineer.  The function requires only a destination hWnd and
the name of the PNG in the resource file.  It will then convert the PNG
to a full 32bpp cursor, then assign it to the hWnd (no subclassing
required).

Created cursors are automatically managed, so they are only loaded once
(on-demand), and automatically unloaded when the program is closed.