use optional renderer and fallback to CanvasRenderer
bump version