I used browserify to bundle in Three.js and all the other dependencies. Yes, it's an embarrassingly large JS package. There are probably better ways of doing this, but being a weekend project I decided that it wasn't worth my time to investigate ;-)
If you look at the commits, I just tried to push a few lines of code every day (nights, weekends) over the course of a couple of months. It adds up.