Allow switchable derivative strategies.

Refactor default ImageMagick code into ExternalImageMagick strategy.