basic canvas rendering for 2d shapes