lex: Cleanup whitespaces, no semantic changes
Add some documentation
Add refill construction