Abstracted arrows out of the EditEngine.

The LineCurveEditEngine and RectangleEditEngine now derive from
ArrowedEditEngine, a new abstract class which adds arrow options.