Two.js – Drawing API For SVG, Canvas & WebGL
Drawing anything using modern web technologies is possible, however, the default APIs are not that user-friendly.
The library has only (currently) support for shapes (no text or images) and allows importing SVG data.
It can group multiple elements which is useful when transforming them together.
There is a built-in animation loop, methods to draw well-known shapes and lots of options to customize them.