A better 2d HTML5 canvas library