XS tag is an aligner specified field and intention can clash.
It appears that the strand function was originally coded against XS
as 'sequence from strand', probably for RNA or some such.

BWA-mem defines XS as 'suboptimal alignment score' which is numeric
resulting in incorrect read colouring.

I've attempted to preserve original functionallity, however this may
give unexpected results should XS be used in a different textual way
by another tool.