Qt Charts 2.1.0

Performance Improvements
--------------------
Qt Charts now supports accelerating drawing of line and scatter series with
OpenGL. In cases involving large amounts of points, this radically
improves performance. For example, a high-end desktop system with a good GPU
can draw a series with millions of points at a useful frame rate.
See QAbstractSeries::useOpenGL documentation for more information.

New features
------------
- Added support for QAbstractSeries::useOpenGL property
- Added possibility to set labels position for QCategoryAxis
- Added reverse axis support
- Added support for minor ticks to value axis
- Added support for bar series value label angle
- Added QXYSeries::replace(QVector<QPointF> points) overload
- Added QXYSeries::pointsVector() to get series points as a QVector.
- Added possibility to set duration and easing curve for chart animation
- Added a method to remove more than one point to QXYSeries
- Added option to set labels clipping
- Added grid color property for value axis
- Added mapToPosition and mapToValue methods to ChartView
- Added zooming functions to ChartView to correspond the ones available for QChart
- Added changed signals to scatter series marker size and shape properties

Fixed issues
------------
- Fixed crash with PolarChart due to wrong AreaSeries initialization
- Fixed assert failure due to wrong default axis for DeclarativeChart
- Fixed XYSeries point label drawing
- Fixed issues with area series point labels
- Fixed space reservation with empty chart title
- Fixed axis zoom in animation crash issue
- Fixed area series animation crash issue
- Fixed documentation issues
- Fixed label clipping issues when using QOpenGLWidget as graphics view viewport
- Fixed crash when removing currently animating axis from the chart
- Fixed drawing a ghost axis when the last axis was removed from orientation
- Fixed missing tick and label when log axis tick was be exactly at edge of the range
