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.

Another question I'm asking is, can we use old `metrics.data` instead of reading the stuff again from the file?