Refactor TokenDirectEditPolicy and TokenAnnotateCommand to take
SStructuredNodes as model to make it re-usable for all types of
SStructuredNodes (SToken, SSpan, SStructure), rename accordingly