ProjectVector method was modifying plane normal.
Thanks to David Jarvis for pointing out this bug. Projecting a vector would cause the plane's normal to be multiplied by the dotprod of the plane and the vector (in some cases, causing the normal to become zero). Obviously the ProjectVector() function should not modify the normal. Change-Id: Idaa86fdad897777a65fba6f8ac5309a3582175e6