Port highlighting with arrow to XBoard
Unfortuntely this duplicates a fair amount of code in the front end.
Removing the arrow is done by a total repaint if there is a non-zero
lineGap, because the clever algorithm for selective redrawing (based
on damage) that XBoard uses does not repair damage to the grid lines.
For lineGap=0, however, (for which the arrow is mainly intended) the
damage mechanism is used, and the damaged squares are determined by
tracing out the arrow in 64 steps, and marking all squares in the
neighborhood as damaged.