[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.cc b/src/hb-unicode.cc
index 2286f7b..4b285c5 100644
--- a/src/hb-unicode.cc
+++ b/src/hb-unicode.cc
@@ -175,9 +175,10 @@
 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)
 {
-  return hb_object_set_user_data (ufuncs, key, data, destroy);
+  return hb_object_set_user_data (ufuncs, key, data, destroy, replace);
 }
 
 void *