Initial code commit

This is all I've done so far. It's not up to a semi-respectable level
where I feel I can show people.