Handle resize events and allow canvas resizing

* Added windowResized callback
* Made the createCanvas keep an id around so we can find user created canvases later
* Changed createCanvas to resize the graphics object if it already exists
* Added a resizeCanvas method
* Added resize to the p5.Graphics object
* (Minor) My editor stripped whitespace on some lines. It was only a small subset so I believe your standard is to strip them so I left it in.
loadXML reqwest fix: crossOrigin = true
save(p5.Graphics, filename) for consistency with other save argument signatures
save(p5.Graphics, filename) for consistency with other save argument signatures
loadJSON reqwest tweaks: crossOrigin and .then promise
Merge pull request #361 from therewasaguy/io

save(p5.Graphics) and loadXML
commenting back in single img filename as arg option, making small change to save for p5.graphics
saveCanvas() figures out file extension
Merge pull request #363 from therewasaguy/io

saveCanvas() figures out file extension
moving update coords per issue #367
moving update pcoords calls back into updatecoords from draw issue #367
correct to have updatepcoords calls at end of draw, closes issue #367
resize working
moving coord update out of draw so it can happen without draw defined
new version
Removed textHeight() because it's not present in Processing and would function in confusingly different ways than textWidth().
Added textAscent() and textDescent(). Calculation happens on call, but is cached.
updating docs
docs
adding bower manifest