avoid tokens overlapping (issue #11)

Normalise the incoming token stream - the Isabelle markup or other calculations sometimes produce tokens that may overlap, which used to produce SWT exceptions. Adjust the token offset/length to ensure that the tokens are not overlapping.