Yea, but good luck having a browser-based B-Rep kernel or some such. Seems like GrabCAD, etc. are doing back-end processing -> polygons in the browser using three.js, etc.
Shapesmith is also doing backend nurbs (OpenCASCADE + erlang server) with front-end rendering.
I think it would be possible to implement nurbs (or brep) in javascript, once there's an open source (and maintainable/legible) library that actually does nurbs intersection.
OpenNURBS doesn't count because Rhino has kept all the interesting bits to themselves. BRLCAD has had people from GSoC implement some of the remaining closed-source parts of the OpenNURBS library, so maybe they have had some recent progress on this front?
OpenCASCADE doesn't count because trying to extract just what you need is like trying to rewrite the multiple decades of software piled up in there..
Edit: Nick, didn't we have this exact conversation before in some HN comments like two years ago? I feel like we did and I feel bad for not remembering the url. Maybe this?