HTML5 canvas components for mobile web apps