Thumbnail update

Add configurable modes to thumbnailing; calling the function with the existing function signature now uses a builtin PIL function to generate a square thumbnail. There is now an additional proportional mode available; this uses the thumbnail function from the PIL.

Since PIL's thumbnail() modifies the existing PIL image directly, the other thumbnailing options have been updated to _also_ modify the existing image. 

If I recall correctly, this has the side effect of speeding up average color determination, as the image being analysed is usually much smaller.


Are there really no more descriptive names we can give these values?