SVG has no 3D support. In fact, it is almost anti-3D. SVG assumes once an object is declared it will remain layered in the same position. This makes sense for a static SVG image. It saves on memory, speeds up the rendering a bit and in general simplifies the SVG engine.
Could this idea be extended to render larger scenes? Possibly. It should be possible by dynamically creating the polygons based on demand to create a small generic 3D engine. Animation would likely prove impossible for more polygons than around 20 on lower end systems. Provided that animation isn't required then scenes of 200+ polygons could be rendered and adding flat light shading would be possible as well. More advanced shading methods would be impossible as SVG doesn't provide a way to specify color interpolation from vertices.
The source is a little mucked up at the moment and there are several inefficient sections.
Source code may be freely downloaded and examined. Please do not plagiarize.