Correctly extract string data for password.

btoa expects a string argument, so when passing it the ArrayBuffer
object returned by getRandomBytes(), it's converted to a string by
calling .toString() on it. This always results in "[object ArrayBuffer]",
effectively resulting in a completely non-random password.
Merge pull request #9 from Ventero/password

Password is always "[object ArrayBuffer"
Another step forward
generic-ize
I like stack traces, also, fix identity key bit fiddle crap
Fix ALL the things!
Regenerate bins for fixed ephemeral bit
LGPL license (I'd like to be an axolotl/TS JS lib in the future)
tweak ui things a tiny bit
Add TODO file showing what still needs to be done
Add TODO
Lilia's Webcrypto branch rebased and a few very tiny tweaks
Fix now-broken test cases and change lots of things over to promises
Fix/test pre key generation
Move crypto things to js/crypto.js
More wholesale conversion to promises
Refactor some low-level crypto things
Remove TODO.txt now that I found time to put in github issues.
Fix exception in options.js on first run

Fixes #22 Uncaught ReferenceError: getRandomBytes is not defined
options.js:41
Merge pull request #23 from liliakai/fix

Fix exception in options.js on first run