Refactor lexer to prepare for new features

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Treat 'primitive' as normal identifier

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Parse only whole words as primitive keyword

Signed-off-by: Stefan Marr <git@stefan-marr.de>