Incorporate results of spike.
First attempt at front mount.

Still pretty blocky and I need to check the angle for printing.
Corrected widths error.

I had forgotten about converting the 'face-to-face' width to a radius
before generating the cylinders. This change the code to take that into
account.

I also sloped the main body. Despite the mistake, the side of the viewer
that fit against the face was almost perfect, even if it wasn't what I
planned. Now, the front is better suited to match the phone and the back
should still fit against the face.
Model cleanup.
More cleanup.
Final cleanup of this pass.

Push unimportant details down as far as possible. The two polyprism
modules now deal with all of the fiddly bits instead of spreading the
details over multiple modules.

Remove some unnecessary variables.
Add some comments for later readability.
Adjust angle to reduce chance of overhang failure.
Support the different variant versions.
Minor Makefile tweaks.