APIs missing: lines management
Currently, it is pretty hard to handle lines.

They are a `ShapePath`, with some extra info added on top of them:
1. `closed: false`
2. `points: {}` (with different settings here)

The main issue is related to the points, as they are handled in % of the size (from 0 to 1) and not as a position:
for a shape with X=100, Y=100, width=100 and height=100, the top-right point is 
```
point: {
  pointType: "Straight",
  curveFrom: {}
  point: {x=1, y=0}
  curveTo: {}
}
```
which makes the manipulation of shapes and lines pretty hard if it involves other transformations and or changes with the size of the original shape.

For example:
![Artboard](https://user-images.githubusercontent.com/72731885/178271571-6e4a7de7-58f4-4706-bb0a-2018944d136d.png)

In this case, the point 1 coordinates are [50,50], but in the code, they are [0,0] in respect of the shape itself. Point 2 is [150,150] and [1,0].


If I manipulate point 1 to be in a different position, like: 
![Artboard](https://user-images.githubusercontent.com/72731885/178272185-929ed748-e757-4a57-9b53-e86c0d1f7df0.png)
point 2 is still [150,150], but not in [1,0] anymore. It is [1,0.33].

This makes any kind of manipulation of points rather complex, as for any movement of one point, the actual % of the others' positions changes.

It would be nice to be able to choose between an absolute position [150,150] and a relative position [1,1] accordingly to the necessities.
