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-common.h b/src/hb-common.h
index 4265bb3..df929ea 100644
--- a/src/hb-common.h
+++ b/src/hb-common.h
@@ -26,6 +26,10 @@
  * Google Author(s): Behdad Esfahbod
  */
 
+#ifndef HB_H_IN
+#error "Include <hb.h> instead."
+#endif
+
 #ifndef HB_COMMON_H
 #define HB_COMMON_H