change tokenizer to return Token structs with line/column info
- updated tokenizer to produce Token values instead of raw bytes,
storing byte value along with source position
- adjusted parse_brackets and VM::run to destructure the new Token type
for comparison and display
- paves the way for nicer error messages in the future