Close gaps in borders of self-intersecting glyphs

If the glyph is self-intersecting, so are the stroke
borders produced by stroking it. Normally, there is an
"inside" and an "outside" stroke border, but they swap
roles around self-intersections, the "inside" one going
on the outside while the "outside" one stays inside.
Currently, we take only the "outside" border, which thus
hides behind the main glyph around self-intersections.

Keep both stroke borders instead. They are effectively
merged during rasterization, so at any particular point
the bitmap will show whichever border is actually
wider/further outside.
Use FT_Outline_EmboldenXY if available