Parser Re-write

Re-writes to the parser to not use a tokenizer any more. S-exprs are
simple enough that a tokenizer isn't needed.

This also adds support for escapes in strings, and adds infrastructure
for read macros. (eg: `('(a b c))`)