New, less laggy version: http://scratch.mit.edu/projects/23338288/ - drag mouse to rotate :) Might be a little bit laggy :(
So far it has all come out of my head. No websites, no books, no friends. The only bit that I didn't work out how to do is the bits that my maths teachers over the years have taught me - you know - that + is addition and what that means, sin(angle)=opposite/hypotenuse, atan(opposite/adjacent)=angle... That kind of stuff... Update: Help from DadOfMrLog on back-face culling