Initial commit of the prototype I've hacked together so far. Need to
refactor it into some actual kind of structure before doing much more.