2d graphics library for HTML5 canvas