[truetype] Optimize DELTAP and DELTAC.

* src/truetype/ttinterp.c (Ins_DELTAP, Ins_DELTAC): Move ppem
calculations outside of the loop.
Don't use `register' keyword.  Fixes compiler warnings.

* src/base/ftcalc.c (FT_Add64) [!FT_LONG64]: Do it.
* src/gzip/inftrees.c (huft_build): Ditto.
* src/truetype/ttinterp.c (TT_MulFix14_arm): Ditto.
[truetype] Shortcut ppem calculations for square pixels.

* src/truetype/ttinterp.h (TT_ExecContextRec): New field
`cur_ppem_func' with a function pointer.
* src/truetype/ttinterp.c (TT_RunIns): Initialize `cur_ppem_func'
depending on the pixel geometry to either...
(Current_Ppem_Stretched): ... this for stretched pixels.
(Current_Ppem): ... or this for square pixels.
(DO_MPPEM, DO_MPS, Ins_DELTAP, Ins_DELTAC): Use `cur_ppem_func'.
[base] Tighten the overflow check in `FT_MulFix'.

* src/base/ftcalc.c (FT_MulFix) [!FT_LONG64]: Updated.
[base] Tighten the overflow check in `FT_DivFix'.

This fixes a 13-year old bug. The original overflow check should have
been updated when rounding was introduced into this function
(c2cd00443b).

* src/base/ftcalc.c (FT_DivFix) [!FT_LONG64]: Updated.
* include/freetype.h (FT_DivFix): Updated documentation.
Fix Savannah bug #43153.

* src/psaux/psconv.c (PS_Conv_ToFixed): Add protection against
overflow in `divider'.
[base] Tighten the overflow check in `FT_MulDiv'.

* src/base/ftcalc.c (FT_MulDiv) [!FT_LONG64]: Updated.
* src/base/ftcalc.c: Harmonize code.
Formatting.
[autofit] Minor code streamlining.

* src/autofit/afhints.c (af_axis_hints_new_edge): Remove redundant
initialization.
[autofit] Minor.
Minor documentation fixes.
[autofit] Minor clean-ups.

* src/autofit/afhints.c (AF_FLAGS): Remove obsolete values.

* src/autofit/afhints.c (af_glyph_hints_dump_points,
af_glyph_hints_align_strong_points): Updated.

* src/autofit/aflatin.c (af_latin_hints_link_segments,
af_latin_hints_compute_segments), src/autofit/afcjk.c
(af_cjk_hints_link_segments), src/autofit/aflatin2.c
(af_latin2_hints_link_segments, af_latin2_hints_compute_segments):
There are no longer fake segments since more than 10 years...
[base] Avoid unnecessary long division.

This applies to `FT_MulDiv' but not to `FT_DivFix', where overflows or
lack thereof are predicted accurately.

* src/base/ftcalc.c (ft_div64by32): Improve readability.
(FT_MulDiv, FT_MulDiv_No_Round) [!FT_LONG64]: Use straight division
when multiplication stayed within 32 bits.
Remove commented out code.
[base] Clean up.

* src/base/ftcalc.c (FT_MOVE_SIGN): New macro for frequently used code.
[base] Use more common `FT_MSB' implementation with masks.

* src/base/ftcalc.c (FT_MSB): Updated.
* src/base/ftcalc.c: Remove miscellaneous type casts.
[cff] Fix Savannah bug #43271.

* src/cff/cf2font.c (cf2_computeDarkening): Change overflow
detection to use logarithms and clamp `scaledStem'.
Formatting.