Initial commit, replacing JoelSutherland's stuff with my own. (It would have been easier to just make a fresh repo, but then GitHub wouldn't call it a fork...)