add AbstractShape::outline()

Think of the outline as the shape drawn with a pen. The pen's
width grows the shape. The outline matches the contour of the
resulting painted shape.