[API} hb_buffer_get_glyph_{infos,positions}: Add length out parameter

Return the length, whenever we return an array.  Makes it easier on the
language bindings.
diff --git a/src/hb-buffer.cc b/src/hb-buffer.cc
index b71aa57..596d38c 100644
--- a/src/hb-buffer.cc
+++ b/src/hb-buffer.cc
@@ -475,18 +475,26 @@
 
 /* Return value valid as long as buffer not modified */
 hb_glyph_info_t *
-hb_buffer_get_glyph_infos (hb_buffer_t *buffer)
+hb_buffer_get_glyph_infos (hb_buffer_t  *buffer,
+                           unsigned int *length)
 {
+  if (length)
+    *length = buffer->len;
+
   return (hb_glyph_info_t *) buffer->info;
 }
 
 /* Return value valid as long as buffer not modified */
 hb_glyph_position_t *
-hb_buffer_get_glyph_positions (hb_buffer_t *buffer)
+hb_buffer_get_glyph_positions (hb_buffer_t  *buffer,
+                               unsigned int *length)
 {
   if (!buffer->have_positions)
     _hb_buffer_clear_positions (buffer);
 
+  if (length)
+    *length = buffer->len;
+
   return (hb_glyph_position_t *) buffer->pos;
 }