Font.cpp: Style cleanup

 * Unify asterisk style
 * switch indentation style of FontList declaration
 * Order FontList methods according to declaration
 * Use named constants in default BFont constructor for spacing and encoding.
Font: Work on support for spacing modes.

 * Change default spacing to B_BITMAP_SPACING. The BeBook does not document
   what the default spacing is, and I have no BeOS install handy to check.
   However, I believe that B_BITMAP_SPACING is what should be the default,
   since it gives the best visible result for the common use-case.
   In terms of implementation, there is no change, since spacing was ignored
   until now and the behavior was that of B_BITMAP_SPACING. This change could
   however break BeOS apps which assume B_CHAR_SPACING is the default and don't
   set it on new when they need it. Sample code in the BeBook however shows
   setting B_CHAR_SPACING on a newly created BFont.
 * Implement B_STRING_SPACING to do something sensible. The BeBook documentation
   is completely vague in what it is actually supposed to do. Given the
   possibilities of FreeType, I am implementing it to enable the use of
   kerning. Kerning optimizes the spacing between two glyphs, for example, it
   would decrease the spacing between "T" and "e" in the string "Test" for
   our default font. Untested.
TabDecorator: Move tracing output into tracing statement...
app_server: Fix applying current scale when font changes.

 * The code path actually used when the client uses BView::SetFont()
   is DrawState::ReadFontFromLink(), where it forgot to a) adopt the
   original font size in fUnscaledFontSize and b) scale the font by the
   current combined scale. Fixes remaining part of #10578.
app_server: Implemented support for B_CHAR_SPACING.

It doesn't yield quiet the expected results, yet. When hinting is turned on,
FontEngine takes a measurement of the precise advance values for each
cached glyph by invoking FT_Load_Glyph() with the FT_LOAD_NO_HINTING flag,
before loading the glyph for real without that flag. In GlyphLayoutEngine.h,
the precise advance value is used for B_CHAR_SPACING. The intended result
is that glyphs are rendered hinted (according to global Appearance settings),
but spaced along the base-line with precise, unhinted advance values. An
application would use this for example to implement precise page or print
preview and also for zooming text without altering the placement of glyphs.
For Gobe Productive, problems can be observed, because we don't implement this
correctly, yet.
app_server: Fixed B_CHAR_SPACING mode.

Since fonts are cached with a precision of one digit after the decimal point
for the font size, the char spacing values needs to be more precise. They are
now in font face units and scaled by the font size during layout. This yields
the expected results of the text positioning scaling smoothly along the base
line, even though the actual (hinted) glyph shape does not change with each
small change of the scale (or font size).
test app_server: Fix build & add font spacing test.