Block encoders should now create less garbage.

Temporary storage used for BC1 alpha and for dithering is now only
allocated when it's needed.