A HTML5 canvas framework