Clean up code style in new horde code.
Add some notes for future directions.
Make monster groups lose interest in things eventually.
Const some parameters.
Shuffle variable definitions to where they're used and const them.
rewrite visibility check, causing cougars to leap into closed rooms
monattack::leap use target, not g->u
use std::stable_sort instead of std::sort in AIM
Use skill of gunmod for training
Extract the ttf font (with glyph cache) and the bitmap font into classes.

Made one global static instance of each of them (for now).
They have a common base class (Font), with a single virtual function: OutputChar (which used to be the function pointer to the actual output function).
There is a global pointer to one of these two instances. This pointer is used instead of the global function pointer to call the virtual function.
During initialization one of the two Font objects (bitmap/ttf) is initialized and the font pointer is set to point to that object.
Prevent double drawing ("native" and cata_tiles)
Replace halfheight / halfwidth with inline calculation
combine both versions of curses_drawwindow

Both version differed in some formatting (non-functional), and the usage of tilecontext.
Extract some code into a more convenient function.

Also: a lot less indenting
Put the tilewidth into BitmapFont class.
make draw_ascii_lines a function of Font class.
Make a Font::draw_window function, which contains most of curses_drawwindow

The reason for this is to allow different fonts to be used for different windows.
Now the drawing code is connected to the font (the this object).
Slightly reformat curses_drawwindow, no functional changes
Give the Font class their own fontwidth and fontheight settings.

Currently they are the same as the global ones.
Make a function that loads bitmap and truetype fonts.

It returns either a BitmapFont or a CachedTTFFont object. Or NULL if loading failed.