cursor code clean up

engine_draw_cursor() doesn't actually need an extra argument which
specifies the drawing target, since cursor_gd now uses buffered access
mode, and the former function can simply draw on the buffer.

From the global point of view, however, the cursor still uses direct
access mode, because flushing is not needed.