Add a common function called transformPointWithNormal

This is a simple but common function and has passed the unit test.
We could update `transformPoint` as well ;)
Matrix multiplication is faster and makes more obvious what's going on.