Improve depth buffering in D3D by computing a depth-flipped proj matrix but only when needed.

Also delete a strange calculation from the vertex shader that didn't make a lot of sense.
I was thinking this might be trying to account for the output range of the shader?  I think OpenGL is [-1, 1], and I'm guessing Direct3D is [0, 1].  But presumably the matrix is already taking care of this.

-[Unknown]