2D Bounding Spheres

For #1539. This also fixes #1248.

Uses the xz plane as a splitting plane when geometry intersects the IDL creating multiply geometries in the east and west hemispheres with better fitting bounding spheres. Also uses the projected points to compute the bounding sphere instead of `BoundingSphere.projectTo2D`.

This also partially fixes #1552. Frustum culling is now correct in Columbus view and 2D. However, in 2D, the geometry is failing the depth test.
I didn't do that because I didn't want to duplicate code, in certain cases a large amount of code, or create a bunch or small temporary arrays with one or two elements with the valid geometry.