fix: pin HarfBuzz's advance-query load flags to match cell_metrics
hb_ft_font_create leaves HarfBuzz's own glyph-advance query on an
internal default that isn't font.LOAD_DEFAULT. At some pixel sizes
(font-dependent — reproduced with both the Nerd Font build in use
and DejaVu Sans Mono, just at different sizes for each) that path
returns each glyph's *unhinted* advance, while cell_metrics derives
cell_w from face.size.metrics.max_advance, a *hinted* value — same
font, same size, two disagreeing numbers.
draw_shaped_run accumulates HarfBuzz's advance across a run but
resets each new run's origin_x from the grid (start_col * cell_w),
so the 1px-per-character gap only became visible at the next
Row_Run_Key boundary (a color/style change) — read as "extra space
before differently-styled text, growing the further right you look"
rather than uniform drift, and vanishing entirely for plain
single-color text where nothing ever resets against it.
hb_ft_font_set_load_flags(font, font.LOAD_DEFAULT) makes HarfBuzz use
the exact same hinted advance font.odin's own rasterize() already
loads glyphs with, closing the gap between the two paths.