Cursor Palette Refactor

Fixes #2885 as @pchote suggested if I understood him correctly.