Various improvements

Don't merge this quite yet; I have some testing yet to do on windows.

* use size_t in allocator (instead of unsigned). This is a step along the way to fixing #48.
* move executable allocator out of System class.  Part of my crusade to strip System down to the bare minimum.
* remove unused Half type.  This was used at some point during my compiler types refactor, but no longer, apparently.
* split Tokenizer into its own header.  Very few classes need Tokenizer.  No need to conflate it with String.  This has been bugging me for a while.