Made horizontalSurfaceProjection work by looping
Implements issue #21 while improving precision, according to log statements.

Unfortunately the rendering reveals a clearly worsened result :/