Bug fix for normalized() 

when self == CGPoint.zeroPoint, a call to normalized returned (nan, nan) so I added a check for when length() == 0