font: move font struct to font.c
dev: the third argument of .fp can be a path

If the third argument of .fp request contains a slash, neatroff
assumes that it is the path of the font description file.  Otherwise,
as before, the font is looked up in the output device directory.
hyph: make hcode_add() static
font: support advanced font features

Now neatroff supports advanced font substition and positioning
features.  Font descriptions can now include lines starting
with gpos and gsub:

  gsub feat -f -f -i +ffi
  gpos feat A:+0+0+5+0 V

The length of the patterns can be longer.
wb: find glyphs in the current font of word buffers