Added struct Lexer to hold lexer state.

Added global struct Lexer instance and changed lexer to use Lexer
global instead of various global state variables.
Moved last two global lexer variables into global Lexer struct.

Replaced adjust() macro with adjust() function.
Moved more functions and macros out of cat2html.l.
Changed SETB/UNSETB/SETU/UNSETU macros into function-like macros.
Changed SETB/UNSETB/SETU/UNSETU macros into functions.

Added corresponding setBold(), unsetBold(), setUnderline(),
unsetUnderline() functions and replaced the respective macros.
Make char * string fields and parameters const.

Add const to struct Lexer fields and various function parameters.