Add a common function called transformPointWithNormal

This is a simple but common function and has passed the unit test.
Yes, we can also use matrix multiplication.
I just copied the similar code in transformPoint here for consistency.