separate out init methods for encoding and decoding - get rid of annoying macro
no need to calloc the component data, since it will be over-written with actual data
for single tile encoding, simply re-use image components, rather then

allocating two copies of each component and copying into the tile component