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. 
I just copied it from the old code. I assume it's related to this: https://code.google.com/p/dolphin-emu/issues/detail?id=267#c50

But really everything in software renderer should be fixed point.