Add basic lexer and started personas

String code from my Shell Engine project.
Lexer based on (but largely rewritten from) Shell Engine TextLine class.