rewrote csv generation plus some extra features

* y-values for same x-values from different series are placed in same row
* x-values no longer duplicated as columns for each series
* X column title and downloaded file title is taken from user provided values when configuring the chart if available.
* Browser-side download is used if supported by browser bypassing server-side script
* Default title of chart is passed to backend along with csv string.

known issues: multiple x axes (no longer?) supported