fontselect: fix match_fonts semantics
fontselect: fix match_fonts semantics

We don't want to add fonts multiple times, so call match_fonts lazily,
i.e. only after selecting a font with a certain name failed. Since
font matching interacts with glyph coverage checks, add a simple
mechanism to determine whether matching failed because of name or
glyph coverage. Additionally make sure to handle substitutions before
any calls to match_fonts; this only correctly deals with single-name
substitutions, though.

torque/libass,libass/libass,torque/libass,ShiftMediaProject/libass,mwgoldsmith/libass,torque/libass,stps/libass,grigorig/libass,Akemi/libass,xbmc/libass,mwgoldsmith/libass,grigorig/libass,astiob/libass,Akemi/libass,sanyaade-g2g-repos/libass,MrSmile/libass,mwgoldsmith/libass,sanyaade-g2g-repos/libass,libass/libass,astiob/libass,stps/libass,xbmc/libass,stps/libass,sanyaade-g2g-repos/libass,Akemi/libass,ShiftMediaProject/libass,MrSmile/libass