Implement polygon hierarchies as a replacement for push matrix and pop matrix-style operations. Updated the test programs to use translation hierarchies so that rotations can be done in a hierarchy that does not have translations. Hierarchies are the last matrix operations applied. ie say a cube is a "X" is a "Y" is a "Z". Then the each side of the cube is applied first, then the cube list, then X transformations, then Y, then Z, then the perspective (if enabled) transformation. The algorithm actually goes in reverse to compute transformations, ie is does Y x Z then X x Y x Z, etc...