patch 8.2.2754: :sleep! does not always hide the cursor

Problem:    :sleep! does not always hide the cursor.
Solution:   Add the cursor_is_asleep flag. (Jeremy Lerner, closes #8097,
            closes #7998)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index c8cb11b..7c1c448 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -7370,7 +7370,7 @@
 # endif
 
     if (hide_cursor)
-        cursor_off();
+        cursor_sleep();
     else
         cursor_on();
 
@@ -7422,6 +7422,9 @@
     // input buffer, otherwise a following call to input() fails.
     if (got_int)
 	(void)vpeekc();
+
+    if (hide_cursor)
+        cursor_unsleep();
 }
 
 /*