Avoid creating intermediate strings in sanitizeMetrics

This patch avoids creating many intermediate strings, by instead writing directly to a Uint8Array, when writing dummy width/lsb entries for glyphs where those are missing.
For the relevant PDF files in our test suite (see https://gist.github.com/Snuffleupagus/27f6586ceac79dadacbe), the average number of intermediate strings are well over 1000.
> I wonder if entries.set(font.getBytes(metrics.length)) will do the trick too.

Why didn't I think of that; that obviously works equally well! Thanks for point it out :-)

> Another question I'm asking is, can we use old metrics.data instead of reading the stuff again from the file?

I see no reason why we need to re-read from the font file. Just to make sure, I've compared the two approaches and they yield identical results for all the test files we have (see link above).