separate the collecting of font files from the scanning pass

A rather big internal change:
font files are now first collected in a list of {fullname; location} pairs and then
scanned in another step.
This will enable some useful tricks in the near future.