Reduce performance bottleneck in the layout algorithm when the chart contains a lot of datasets, by setting a loop limit. This can lead to overlapping labels when there is a LOT of labels, but anyway in this case the chart may not be readable
Improve the resizing algorithm to fit the labels in the chart area, by running successive fitting processes
Avoid to draw labels if fitting is ongoing
Rewrite the collision algorithm by making it more readable
This PR adds some optimizations and improvements: