Extents can cross the international date line

![image](https://cloud.githubusercontent.com/assets/3451886/3766107/aa86e84e-18c1-11e4-99ca-100de7ed1a96.png)

Fixes #1577 

I also de-spaghetti-fied the `RectangleGeometry` and `RectangleOutlineGeometry` code.  The shared code from those two classes is now in `RectangleGeometryLibrary`.