Processing.js. John Resig ported over a graphics API called processing to javascript and it uses the html canvas. seems like quite the task.