patch 8.1.0636: line2byte() gives wrong values with text properties

Problem:    line2byte() gives wrong values with text properties. (Bjorn Linse)
Solution:   Compute byte offsets differently when text properties were added.
            (closes #3718)
diff --git a/src/structs.h b/src/structs.h
index e4311ed..2f2795a 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -2411,7 +2411,8 @@
     dict_T	*b_vars;	/* internal variables, local to buffer */
 #endif
 #ifdef FEAT_TEXT_PROP
-    hashtab_T	*b_proptypes;	/* text property types local to buffer */
+    int		b_has_textprop;	// TRUE when text props were added
+    hashtab_T	*b_proptypes;	// text property types local to buffer
 #endif
 
 #if defined(FEAT_BEVAL) && defined(FEAT_EVAL)