#603 - drawImage() keywords for setting output size.

This PR introduces a few convenience keywords to drawImage() to set the output image size, either by resizing an existing image or by overriding the `getGoodImageSize` values in the case where a new image gets constructed.

Here's an excerpt from the updated docstring:

```
        @param nx           If provided, use to set the x-direction size of the image.  Must be
                            accompanied by `ny`.
        @param ny           If provided, use to set the y-direction size of the image.  Must be
                            accompanied by `nx`.
        @param bounds       If provided, use to set the bounds of the image.
```

There are also a few new unit tests to go along with these.
> foo[new_bounds].scale=2.

> bar = foo[new_bounds]
> bar.scale = 2.0

The behavior of both of these examples make intuitive sense to me.  The first example is the normal kind of thing in python where you make a temporary object and then ignore it.  It's slightly more complicated here, since you both made a temporary and then changed it before letting it go out of scope.  But I don't see any pressing need to try to protect the user from this kind of bug.