Re-open source file on ValueError in ImageSpec.generate()

This is a workaround for a Django issue described here:  https://code.djangoproject.com/ticket/13750

When using an `ImageSpecField` with a source `ImageField` that has `width_field` & `height_field` params, Django sets the width/height fields before IK gets to the file, and by that point it's closed and an I/O `ValueError` gets raised. 

This was initially discussed in matthewwithanm/pilkit#2