Analytic PolyhedronGeometry

Remove recursive calls from PolyhedronGeometry, replacing them with an
analytical construction of the geometry.

In unscientific studies, at high detail levels (> 5), this appears to yield
a ~30% reduction in runtime.