rewrite getXCFMetaData() to get ride of im identify
By reading the file header and unpacking the data, we can avoid
shelling out to imagemagick 'identify'. Save up some CPU cycles :D
An XCF is made of a canvas of a given width / height, the various
layers are applied to it which must fit in the canvas. So we just
use the canvas size :-)
I do not think we have any usage for channels count, so I have just
skip that part. I am not sure it makes any sense when the picture
can be made of several layers each using different channels count.
Bits per color is always 8 per definition. Grayscale is 0 - 255
and indexed palette is 256 colors at most.
XCF spec:
http://svn.gnome.org/viewvc/gimp/trunk/devel-docs/xcf.txt?view=markup
pack() / unpack() is familiar to perl monkeys
Fully reimplements r107351