CatmullRom implemented and a few utilities for CGPoint to make life easier