fix new cursor-drawing code

Now moving cursor won't leave shadow on screen, and warnings at compile
time are removed.

cursor_paint() function calls screen_flush to remove shadow, any callers
of this function don't need to flush screen for cursor anymore.

The next thing to do is to make the cursor's moving smoother. Currently
the cursor may disappear if moving too fast.