Added a Viewport overload which accepts a Rectangle.