#42 redraw markers with Canvas renderer; validate percentage on marker update