A toolkit for manipulating files.
This class defines the API for file manipulation toolkits. It's designed such that we can create many different toolkits, each providing its own unique functions for manipulating files. Some of these toolkits may be centered around a particular technology (eg, NetPBPM, ImageMagick, Jhead, etc) while others may be focussed on a specific type of file (eg JPEG).