fix Issue 8825 - Wrong line number of error message

- Each tokens should have its own 'loc'.
- Rename `Lexer::loc` to `scanloc` to avoid misuse of lookahead-loc.
Fix trivial wrong line number of aggregates
Fix iasm parser bug

`asm_chktok` will advance the token place. So reading `asmtok->uns64value` after the call would take a wrong value.
Merge pull request #2492 from 9rnsr/fix8825

Fix lexer/parser bugs to fix Issue 8825