#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.
I pushed a proposed refactoring of the `_setup_image` function that I think does what I've suggested.  It currently fails your new unit tests of course, but I thought it would be helpful to have a concrete implementation of what I think the behavior should be.

(It doesn't yet address the case of not providing a scale with nx,ny or bounds.)