Only compile unicode

The first commit is add a new interface that I like.  The next commits are stop all of the code from using the old interface.  And the last few commits are remove the old interface and anything testing the few really odd features it supported (namely preprocessors, #defmacro, #include).