This commit changes `CurveComponent` to store the new curve
type by adding conversions to and from `CurveEval` in every node.
This will temporarily make performance of curves in geometry nodes
much worse, but as functionality is implemented for the new type
and it is used in more places, performance will improve.
We still use `CurveEval` for drawing curves, because the new structure
has no evaluated points yet, existing curve types aren't supported for
drawing in the viewport, and we need a `Curve` ID to draw curve edit
mode selections at the moment anyway.
The old curve component isn't removed yet, because it had special
implementations for some attributes like position (also moving the
handles) that will be implemented differently in the near future.