Issue #134: Add automatic image derivatives.

Implements #134 as an alternative to #142.

@amitaibu this also has the nice side effect to allow passing arguments to `'callback'` and `'process_callbacks'`.
``Process callback`` should probably be changed to just ``callback``