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-blob.h b/src/hb-blob.h
index 50c9ae3..360310b 100644
--- a/src/hb-blob.h
+++ b/src/hb-blob.h
@@ -24,6 +24,10 @@
  * Red Hat Author(s): Behdad Esfahbod
  */
 
+#ifndef HB_H_IN
+#error "Include <hb.h> instead."
+#endif
+
 #ifndef HB_BLOB_H
 #define HB_BLOB_H