You might be interested in paper.js: http://paperjs.org/ which is an evolution of Scriptographer. It has full support for the usual add, subtract, difference sort of boolean shape operations. Beyond that difference, I'm still trying to suss out the differences between rune.js and paper.js. Rune feels like it might provide more grid and typesetting tools, but still, the lack of boolean shape operations is disappointing.
Paperjs looks interesting. The major downside is that it is a separate programming language. It really makes me wonder why the authors could not separate concerns and make a self-contained library for those boolean shape operations.