This looks great, but it requires all of ThreeJS, even for the backgrounds that are really just some shaders. You don't really need a complete 3D library to just render 2 triangles that fill the entire screen and apply a shader to them.
Also, the simpler the operation, the higher the chance v8 optimises it pretty well.