Make it an error to include non-top-level headers

Users should #include <hb.h> (or hb-ft.h, hb-glib.h, etc), but
never things like hb-shape.h directly.  This makes it easier to
refactor headers later on without breaking compatibility.
diff --git a/src/hb-buffer.h b/src/hb-buffer.h
index 9582ebe..ca1bbf4 100644
--- a/src/hb-buffer.h
+++ b/src/hb-buffer.h
@@ -27,6 +27,10 @@
  * Google Author(s): Behdad Esfahbod
  */
 
+#ifndef HB_H_IN
+#error "Include <hb.h> instead."
+#endif
+
 #ifndef HB_BUFFER_H
 #define HB_BUFFER_H