code: function randn() {
    var u, v, s;
    do {
      u = Math.random() * 2 - 1;
      v = Math.random() * 2 - 1;
      s = u * u + v * v;
    } while (s >= 1 || s == 0);
    s = Math.sqrt(-2 * Math.log(s) / s);
    return u * s;
  }
docs: http://en.wikipedia.org/wiki/Marsaglia_polar_method TODO: implement http://en.wikipedia.org/wiki/Ziggurat_algorithm