gl: add support for P012_LE / P012_BE format
Because the color value is stored in MSB, so we can reuse the P016_LE / P016_BE code for P012_LE / P012_BE
Because the color value is stored in MSB, so we can reuse the P016_LE / P016_BE code for P012_LE / P012_BE