RFC: Experimental context manager support

As mentioned in #526, this is experimental context manager support, enabling:

```
with Image.open('foo.tif') as img:
   # do stuff
   img.stuff()
```

I am requesting comments as to the aggressiveness of the close of the file pointer, and the dumping of the core image object.