Content push

Here's everything. This is a few years of work, on and off. My Mercurial
repo is a mess, and the old versions aren't worth keeping anyway.