Fix for issue #2963
Image::resize will now raise a runtime error if the user passes in an invalid width or height.
BboxImage.make_image will now ensure that the width and height it passes to Image::resize are positive or zero.
BboxImage.draw now calculates the bottom left corner of its Bbox, rather than using the "first" corner of its Bbox.
Added a test for BboxImage with inverted corners.
Merge pull request #3009 from solvents/issue_2963

BUG: Showing a BboxImage can cause a segmentation fault