* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Refactor.
[base] Restore FT_MulFix inlining.

* include/freetype.h (FT_MulFix): Unconditionally defined.

* src/base/ftcalc.c [FT_MULFIX_ASSEMBLER]: Move code from here...

* include/internal/ftcalc.h [FT_MULFIX_ASSEMBLER]: ... to here,
which conditionally replaces the function with an inline version
through the macro.
[base] Handle collapsed outlines to avoid undefined FT_MSB.

* src/base/ftoutln.c (FT_Outline_Get_Orientation): Update.
* src/base/fttrigon.c (ft_trig_prenorm): Comment on undefined behavior.
[base] Avoid undefined FT_MSB in `BBox_Cubic_Check'.

* src/base/ftbbox.c (BBox_Cubic_Check): Update.
(update_cubic_max): Repalce with...
(cubic_peak): ... this, which now handles upscaling.
Fix comment and whitespace.
Turn FT_MSB into a macro when using gcc builtins.

* src/base/ftcalc.c, include/internal/ftcalc.h: Updated.
Minor refactoring.

* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round): Updated.
Merge branch 'master' of git://git.sv.nongnu.org/freetype/freetype2