Don't put control characters to the command line buffer
Avoid processing of unknown escape sequences
Replace strcat()s with strcpy()s in stdio-less configuration
Command history always ends with an empty line
Move variable definitions out of for() statements
Remove tkn_arr from microrl_t and use a stack to store this array
Remove static variables and move them to microrl_t structure
Move command line and history buffers out of microrl_t and place pointers there.

Also, reorder some structure fields and use a memset() for initialization.

These changes considerably reduce executable code size because field offsets
are much smaller and they can be usually computed with a single instruction.