Add imagemagick engine

I find the diffs imagemagick produces much easier to work with.

See http://stackoverflow.com/questions/5132749/imagemagick-diff-an-image for examples.

This engine behaves a bit differently than the perceptualdiff engine. It leaves the new screenshot around only if there are differences. When there's no differences, an existing differences image from an earlier run is deleted. It also uses cmp at first to quickly skip unchanged screenshots.
I find it easier to read this if the arguments are aligned with the parentheses as you had on line 15