Templates for days
I changed a lot of methods to take a djf_3d::Axis as a template parameter instead of as a regular function parameter and learned how to instantiate templated methods explicitly, thereby decreasing the amount of conditional branching in the code. I also changed CoordPair to Vec2f and CoordTriple to Vec3f, to make it less bizarre to people who (unlike myself) are familiar with other 3d engines.