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, the average number of intermediate strings are well over 1000.