BF: Handle images that don't have a row stride of 4

Previously, luminance 8-bit images which don't have a width that's a multiple of 4 would render with a shear effect since GL is assuming a 4-byte alignment between rows, and PIL seems to always return packed data.