WIP: Start mocking up tokenization

So far I've made more mess than I've fixed.

I made the mistake of starting with all the features I could possibly want and having to pluck them one by one to get something working.

Right now this is still not working in case you were wondering.

This is an almost working mockup of what was discussed in #74