Fix unproject code to use sensible vp.

Worth looking back at RT2 on this one, probably.

Includes fixes from Marsens.