Shouldn't util_cursor_reset live in cursor.h/cursor.c ?