use livechars instead of redefining the catcodes globally, removing the ...

...need for some of the dirtier hacks.