Gnomon

This adds a gnomon to the 3d viewer, and also adds a little foundational work for implementing manipulators.