Fix "comparison between signed and unsigned" warnings

Patch from Jonathan Kew.
diff --git a/src/hb-open-type-private.hh b/src/hb-open-type-private.hh
index b337ab7..cec7bd6 100644
--- a/src/hb-open-type-private.hh
+++ b/src/hb-open-type-private.hh
@@ -411,7 +411,7 @@
   template <typename Type>
   inline Type *allocate_size (unsigned int size)
   {
-    if (unlikely (this->ran_out_of_room || this->end - this->head < size)) {
+    if (unlikely (this->ran_out_of_room || this->end - this->head < ptrdiff_t (size))) {
       this->ran_out_of_room = true;
       return NULL;
     }