Standardize handling of glyph names for U. F. O. output.

This adds a standards-compliant name mangler and a hash table look-up for glyph names (so that we can iterate names that collide after mangling).

Just to clarify: I'm talking about current master, and to confirm - no `.gitmodules` file is created for me.

gnulib is used for portability - I know that on Windows this means providing functions like `xvasprintf`, `xasprintf`, `inet_ntop` to name a few, which don't exist natively. I think it might also standardise the *printf family to conform to POSIX standards, but I'm not so sure on this last point.