#(11331) Fix lexer source pos calculations wrt. interpolation.

Interpolation is lexed in a somewhat complicated way where tokens are
placed in a queue and later emitted from this queue. One problem was
that tokens where updated with position as they were pulled off the
queue instead of when being entered (this associated them with the
wrong source position).

Since the original lexer only keeps track of line position this problem
was only noticable when interolation stretches over several lines. The
egrammar lexer however keeps track of positions/offsets and these were
almost always wrong.

The problem with positions is further made difficult by moving the scan 
position forward as side effect, and not paying attention to exactly
when it is moved, and from which "base" or "start" position.

This commits alters this by allowing positioned elements to be entered
in the token queue and by carefully updating the offset and end_offset
at the places in logic where tokens are created.