patch 8.0.1338: USE_IM_CONTROL is confusing and incomplete

Problem:    USE_IM_CONTROL is confusing and incomplete.
Solution:   Just use FEAT_MBYTE.  Call 'imactivatefunc' also without GUI.
diff --git a/src/normal.c b/src/normal.c
index fb0129a..76eb18a 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -892,7 +892,7 @@
 	int	lit = FALSE;	/* get extra character literally */
 	int	langmap_active = FALSE;    /* using :lmap mappings */
 	int	lang;		/* getting a text character */
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
 	int	save_smd;	/* saved value of p_smd */
 #endif
 
@@ -957,7 +957,7 @@
 		    State = LANGMAP;
 		langmap_active = TRUE;
 	    }
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
 	    save_smd = p_smd;
 	    p_smd = FALSE;	/* Don't let the IM code show the mode here */
 	    if (lang && curbuf->b_p_iminsert == B_IMODE_IM)
@@ -973,7 +973,7 @@
 		++allow_keys;
 		State = NORMAL_BUSY;
 	    }
-#ifdef USE_IM_CONTROL
+#ifdef FEAT_MBYTE
 	    if (lang)
 	    {
 		if (curbuf->b_p_iminsert != B_IMODE_LMAP)