[GPOS] Divide position_finish() into two phases, for advances and offsets

Right now the position_finish_advances() is empty.  To be used for
spacing attachments proposal later.
diff --git a/src/hb-ot-shape.cc b/src/hb-ot-shape.cc
index 10c52cf..0b02328 100644
--- a/src/hb-ot-shape.cc
+++ b/src/hb-ot-shape.cc
@@ -584,8 +584,6 @@
 
   c->plan->substitute (c->font, buffer);
 
-  hb_ot_layout_substitute_finish (c->font, buffer);
-
   return;
 }
 
@@ -733,9 +731,10 @@
       break;
   }
 
+  /* Finishing off GPOS has to follow a certain order. */
+  hb_ot_layout_position_finish_advances (c->font, c->buffer);
   hb_ot_zero_width_default_ignorables (c);
-
-  hb_ot_layout_position_finish (c->font, c->buffer);
+  hb_ot_layout_position_finish_offsets (c->font, c->buffer);
 
   return ret;
 }