separate setCursor (rebindable) from setNativeCursor to allow capture/rebind of mouse cursor changes