Take a look at this pure JavaScript implementation of a .dot canvas renderer:
http://ushiroad.com/jsviz/
The library is not documented -- the author definitely ought to publicize and document it more (I'll contact him to suggest he put it up on github, at the very least).
Update: code has been pushed to github:
https://github.com/gyuque/livizjs
Update (14/2/2013): another contender has arisen! anybody interested in the subject should definitely take a look at Viz.js's example page and github repo.
Update (7/16/2020): (seven years later) http://webgraphviz.com/ is also great! :-)