Store and update positional information into terms

Every term (even those produced by parsing passes) has a positional
information that allows it to be syntax-highlighted.