Abstract the in memory representation of an image and implement more met...

...hods on Image

This should make implementing future image processing algorithms easier (hopefully).

I hope to change encoders to operate over PixelBuf instead over &[u8]
In the mean time raw_pixels() returns a copy instead of a reference