The font module kept a global "currently selected font" set by
font_select() and implicitly used when drawing. Make it stateless by
introducing a FontSpec {type, weight, size} that font_render_text() /
font_draw_text() and gfx_drawString() take directly.
Make FontWeight a two-valued enum and normalize the 1-9 weight to it
in commandZB().
Removes font_select(), ags_setFont() and ags_setFontWithWeight().
Before this, color values above 255 were directly used as the pixel
color. After this, its lower 8 bits are used as the palette index. The
new behavior matches System 3.9.
- ags_drawString() returns a bounding box of the text so that callers
can update the screen appropriately.
- Use total font height (not only ascent) for vertical positioning.
This removes X11 specific code, making SDL2 a hard dependency.
X-based environments are continue to be supported via SDL2.
This also removes joystick_linux.c which was only used if SDL2 was not
available.
This removes font.h dependency from header files such as ags.h and
nact.h. After this, font.h must be explicitly included in order to use
font functions.