Make HB_DIRECTION_INVALID be zero

This changes all the HB_DIRECTION_* enum member values, but is
nicer, in preparation for making hb_segment_properties_t public.
diff --git a/test/api/test-common.c b/test/api/test-common.c
index e00e601..7441d09 100644
--- a/test/api/test-common.c
+++ b/test/api/test-common.c
@@ -51,33 +51,38 @@
 static void
 test_types_direction (void)
 {
-  g_assert_cmpint ((signed) HB_DIRECTION_INVALID, ==, -1);
-  g_assert_cmpint (HB_DIRECTION_LTR, ==, 0);
+  g_assert_cmpint ((signed) HB_DIRECTION_INVALID, ==, 0);
+  g_assert_cmpint (HB_DIRECTION_LTR, !=, 0);
 
   g_assert (HB_DIRECTION_IS_HORIZONTAL (HB_DIRECTION_LTR));
   g_assert (HB_DIRECTION_IS_HORIZONTAL (HB_DIRECTION_RTL));
   g_assert (!HB_DIRECTION_IS_HORIZONTAL (HB_DIRECTION_TTB));
   g_assert (!HB_DIRECTION_IS_HORIZONTAL (HB_DIRECTION_BTT));
+  g_assert (!HB_DIRECTION_IS_HORIZONTAL (HB_DIRECTION_INVALID));
 
   g_assert (!HB_DIRECTION_IS_VERTICAL (HB_DIRECTION_LTR));
   g_assert (!HB_DIRECTION_IS_VERTICAL (HB_DIRECTION_RTL));
   g_assert (HB_DIRECTION_IS_VERTICAL (HB_DIRECTION_TTB));
   g_assert (HB_DIRECTION_IS_VERTICAL (HB_DIRECTION_BTT));
+  g_assert (!HB_DIRECTION_IS_VERTICAL (HB_DIRECTION_INVALID));
 
   g_assert (HB_DIRECTION_IS_FORWARD (HB_DIRECTION_LTR));
   g_assert (HB_DIRECTION_IS_FORWARD (HB_DIRECTION_TTB));
   g_assert (!HB_DIRECTION_IS_FORWARD (HB_DIRECTION_RTL));
   g_assert (!HB_DIRECTION_IS_FORWARD (HB_DIRECTION_BTT));
+  g_assert (!HB_DIRECTION_IS_FORWARD (HB_DIRECTION_INVALID));
 
   g_assert (!HB_DIRECTION_IS_BACKWARD (HB_DIRECTION_LTR));
   g_assert (!HB_DIRECTION_IS_BACKWARD (HB_DIRECTION_TTB));
   g_assert (HB_DIRECTION_IS_BACKWARD (HB_DIRECTION_RTL));
   g_assert (HB_DIRECTION_IS_BACKWARD (HB_DIRECTION_BTT));
+  g_assert (!HB_DIRECTION_IS_BACKWARD (HB_DIRECTION_INVALID));
 
   g_assert_cmpint (HB_DIRECTION_REVERSE (HB_DIRECTION_LTR), ==, HB_DIRECTION_RTL);
   g_assert_cmpint (HB_DIRECTION_REVERSE (HB_DIRECTION_RTL), ==, HB_DIRECTION_LTR);
   g_assert_cmpint (HB_DIRECTION_REVERSE (HB_DIRECTION_TTB), ==, HB_DIRECTION_BTT);
   g_assert_cmpint (HB_DIRECTION_REVERSE (HB_DIRECTION_BTT), ==, HB_DIRECTION_TTB);
+  //g_assert_cmpint (HB_DIRECTION_REVERSE (HB_DIRECTION_INVALID), ==, HB_DIRECTION_INVALID);
 
   g_assert_cmpint (HB_DIRECTION_INVALID, ==, hb_direction_from_string (NULL, -1));
   g_assert_cmpint (HB_DIRECTION_INVALID, ==, hb_direction_from_string ("", -1));