Building an Endless Procedural Snake with Three.js and WebGL