Add viewportToImageRectangle method

And add support to pass a point to viewportToImageCoordinates and imageToViewportCoordinates