Improve SVG encoding/decoding and save with a file name

Basically 2 things were added:

* More solid encoding (support for special characters in CSV) [Stackoverflow answer](http://stackoverflow.com/questions/23223718/failed-to-execute-btoa-on-window-the-string-to-be-encoded-contains-characte ). My exports were failing because of embed Chinese characters in SVG
* ability to name the downloaded file. I added a "download with name" function. It may be a better implementation though.