shaders: parametrize/abstract ident_t
Removes any hard-coded assumptions that ident_t is a string. In the future, I want to replace this by a uint16_t (or something along those lines)
Actually, I think that this makes the code more readable, because "..."ID"..." shows up more prominently in my syntax highlighting than "...%s...", and allows identifiers to be more quickly and easily distinguished from other types of format characters.