[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-blob.h b/src/hb-blob.h
index f2eaae9..50c9ae3 100644
--- a/src/hb-blob.h
+++ b/src/hb-blob.h
@@ -66,7 +66,8 @@
 hb_blob_set_user_data (hb_blob_t          *blob,
 		       hb_user_data_key_t *key,
 		       void *              data,
-		       hb_destroy_func_t   destroy);
+		       hb_destroy_func_t   destroy,
+		       hb_bool_t           replace);
 
 
 void *