ICurve3D was returning the same Vector3 which it took as a parameter and
this led to some confusing and disjointed code in the library and
examples. This commit fixes that.

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>