Variations on prisoner's dilemma in JavaScript.