Token is now composed to TokenType and raw string representation
Restructure modules into Lexer/Parser/Runtime/Tools

This is to avoid confusion as to which modules interact
with which as the project gets bigger
Clean up object and interface files with deep directories