save methods

Adding three methods to the API:

* saveTable()
* saveJSON()
* saveStrings()

As part of this process, I also worked on the PrintWriter class, which formats output, the writeFile() method, which prompts download, and some more helper methods like escape(). I hope these'll come in handy down the line !
generally, properties and methods that are strictly internal are prefaced with an underscore, to try and avoid more name collisions. could you make this `p5.prototype._pWriters = [];`?