html canvas with line/ellipse support