Add some convenience initializers.
Add support for caching images to disk and/or memory. Note that memory caching has not yet been tested.