Add some noise, and use all the inputs, and one 8 wide hidden layer
edit: works better with a sigmoid activation curve, but it converges more slowly
No need to mess with noise or regularization :)
http://playground.tensorflow.org/#activation=tanh&batchSize=...
This actually makes the dataset harder to fit to. It is not the same thing here as the "training with noise" method where random noise would be added to each batch, as an alternative means of Tikhonov regularization.
The noise doesn't go far enough to start confusing points between different clusters, but it adds more points.
That said, my knowledge of neural nets is fairly limited.
I don't know if that's a general feature to need fewer neurons with each layer, but that seems to work here.