I did this one night because I was bored.
Originally, I had a JS-based solution that animated the text using timeouts and 3d transforms. It was OK, but wasn't all that smooth. Then I found Craig Buckler's solution here using only CSS, and I switched to use that. Nice work, Craig!