Simplification of BLF Kerning
We have many string printing loops that call a function like this:
blf_kerning_step_fast(font, g_prev, g, c_prev, c, &pen_x);
It isn't notably "fast", we don't have any other versions, and it does not actively participate in the loop it is called in. It is a simple function that takes THREE constant inputs (font and two glyphs) and does a singular thing: increase an integer by the amount of the kerning between the two glyphs. I say three inputs despite there being five because two are unnecessary. c and c_prev are charcode integers that are also inside each GlyphBLF, g and 'g_prev'.
The code around this is greatly simplified without the need to pass around the redundant current and previous charcodes. And it is made much easier to understand by just making it return the actual kerning value. And rename the function. It is then called like this:
pen_x += blf_kerning(font, g_prev, g);
Move the pen by the amount of the kerning correction between these two glyphs.
Note that since there is no need to declare or pass around the charcode (and previous code) separate from the glyphs, this patch also slightly simplifies a couple other functions, but these changes are very minimal and obvious.