[API] Make set_user_data() functions take a replace parameter

We need this to set data on objects safely without worrying that some
other thread unsets it by setting it at the same time.
diff --git a/src/hb-unicode.h b/src/hb-unicode.h
index 9aa97a6..13886df 100644
--- a/src/hb-unicode.h
+++ b/src/hb-unicode.h
@@ -66,7 +66,8 @@
 hb_unicode_funcs_set_user_data (hb_unicode_funcs_t *ufuncs,
 			        hb_user_data_key_t *key,
 			        void *              data,
-			        hb_destroy_func_t   destroy);
+			        hb_destroy_func_t   destroy,
+				hb_bool_t           replace);
 
 
 void *