Original demo
by Jetro Lauha
WebGL port by Kenneth Waters