Added support for multiple effect progress formulas

For now, just linear, sinus and quadratic are supported
Generalize some stuff to functions for their reuse
Implemented canvas effects - move, rotate and scale (zoom)

Also implemented a few CVector2 overloaded operators to ease our work