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-shape.h b/src/hb-shape.h
index 685b11d..99c24ab 100644
--- a/src/hb-shape.h
+++ b/src/hb-shape.h
@@ -24,6 +24,10 @@
  * Red Hat Author(s): Behdad Esfahbod
  */
 
+#ifndef HB_H_IN
+#error "Include <hb.h> instead."
+#endif
+
 #ifndef HB_SHAPE_H
 #define HB_SHAPE_H