Add perspective calculations and got cube finally showing

Pulled in the mathgl library but want to keep it's implementation out of
my code so wrapping it up in my own math3d. Will run some benchmarks to
see if this constant type conversion is a problem or if go can compile
that away.