Fix letter spacing of zero width glyphs

Instead of checking for the glyph width in the font, check for the width
returned by the layout engine since they may be different e.g. HardBuzz
replaces ZWNJ by the glyph for space and set its advance to zero, or
combining marks in DejaVu Sans Mono which are set to zero width using
GPOS glyph adjustments.