Added rotation support for viewport and WPF renderers

When the viewport is rotated, the IViewport.Extent is expanded to include the rotated rectangular view. Simply expanding the viewport's extent to be the circumscribed rectangle around the rotated viewport makes the logic easier and eliminated the need to change the fetcher or the BruTile library.

Along with Rotation, the IViewport has a new WindowExtent property which represents the visible bounds of the viewport. Since the IViewport.Extent box is rotated, some of it will be outside the visible region.

I still need to correct the pixel rounding or expand the tiles by 1 pixel when the viewport is rotated as sometimes you can see the tile borders. However, works well enough to see what you think.