Implement Diceware Passphrase Generator

Note: This is a first swing. I do not have the hardware necessary to test it properly at the moment.

Fixes #163 
It looks like you've designed this.random to return a number in its range, inclusive. I believe it's more typical for random number APIs to specify a range that is inclusive at its bottom end but exclusive at its top end. See for instance https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random.

If you do that it would simplify your code a bit - you can remove the ' + 1' at line 57 and remove the ' - 1' here.