add WinCursors.[cpp|h] for a common way to use cached cursors