A JavaScript library for creating elaborate HTML5 canvas animations