Improve image ctor, add pixel util functions

Image can now hopefully take filename, other image
or raw data (e.g. buffer,width,height) as args.

Pixel now has difference and average utility functions.