Adding support for selecting start- and endpoint for GradientColor + tvOS support
Description
This PR will introduce support for defining to which direction the gradient should be applied. An example of usage for this is when to apply a linear gradient to a line graph showing temperature, with X axes showing time and Y temperature. The higher the value on the Y axes, the more red it should be, the lower the more green.
Example:

This PR will also introduce simple support for tvOS. Any tap- or drag gestures are behind #if !os(tvOS) macros. The PR will also update the swift version to 5.7. Not sure if you want to bump the version too, if not then just revert that change.
Motivation and Context
See above
How Has This Been Tested?
Manually. Running the code in my own app. See screenshot above, which is generated with the following code:
let colorGradient = GradientColor(start: .lightGreen,
end: .orange,
startPoint: .top,
endPoint: .bottom)
iLineChart(data: lineValues,
lineGradient: colorGradient,
chartBackgroundGradient: GradientColor(start: .blue.opacity(0.2), end: .clear),
canvasBackgroundColor: .clear)
.padding()
Other areas in the code that might be affected is the setting of a BarChart color which defaults to .top & .bottom, however the default for GradientColor will be .leading & .trailing. For bar charts an update might be needed.
Screenshots (if appropriate):
Types of changes
- Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [x] Breaking change (fix or feature that would cause existing functionality to change)
Checklist:
- [x] My code follows the code style of this project.
- [x] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.