Make fix_outline more correct in presence of blur

Blurred alphas are not coverage values. The area that is not
covered by the original glyph is a mix of the border and the
background, governed by the blurred border opacities. To get
an exact result, we need to integrate the blurred opacities
on fragments of pixels that exclude the original glyph (or,
equivalently, on fragments that are covered by it, as these
fragments are complementary). Unfortunately, we are unable
to do that.

Give up on exact values and treat each border pixel
as a uniform average that directly scales with area.
In fact, blur itself already does this.

Note that we can now get non-zero opacities even when the
glyph's coverage is larger than the border's uncorrected
opacity.

Writing and solving equations like before, we obtain:
       A_o (c_o - c_b) = 0 and a_o' does not matter
    or A_g a_g = 1 and a_o' does not matter
    or a_o' = (a_o - a_g a_o) / (1 - A_g a_g)
Handle the first case like the third,
and handle the second case by setting a_o' = 0.

The observable difference for non-blurred bitmaps
was not large in my tests, but the code is simple,
so the exact non-blurred calculations are retained.