Massive cleanup of the entire codebase. Notable changes include:
- Use templates to slash code duplication in primitive-integer constructors and
converters.
- Remove excessively chatty and historical comments, and move some pieces of
design discussion to the proper places.
- Improve code format.
Not everything is perfect, but this is much better, and the conversion problem
is finally fixed. I've gotten to the point where the sample program runs
without crashing and produces the correct output. More refinements to come.