A Three.js Rubik's cube simulation