Improve zfreeze in software renderer.

Previous code only worked if the reference zplane was flat. In other cases it used the position of vertex one each new polygon to offset the lookup into the zplane.

NHL 2003 shadows now render without zfighting, but most other games with zfreeze have issues. 
What exactly is the justification for this factor?