Almost every web designer/developer has an experience with Flash (good or bad). And, we remember how its keyframe animation engine works: you define the states of an object in any number of keyframes you wish and it handles the animation/transformation between them itself.
And, there is CSS3 @keyframe animations (CSS-Tricks has a great article on it) where the main logic is all similar but you animate an element with CSS properties.
The drawing of elements is not part of the library and that process can be accomplished by the favorite solution of each developer.
Also, Rekapi can export your DOM animations to CSS3 @keyframes for enhanced performance
It is very well documented, supports a wide list of browsers and works with Node.js too.
Compatibility: All Modern Browsers