use the widget-supplied spans instead of calculation them again
BugFix: unbind the highlight event (otherwise the "old" functions will be called again)
improve check for existing span arrays
BugFix: remember start of spans
BugFix: add ending span (that contains the "border" of the frame)