Andrew,
>What I'd like to do is package all the java up into a class (or whatever) that the user only downloads the first time they visit this page.
You can put your JavaScript functions into a ".js" file, and reference it on the page like this:
< SCRIPT LANGUAGE="JavaScript" SRC="myjava.js" >
< /SCRIPT >
Then just call the functions whenever you need them, as usual. It will be downloaded the first time a page refers to it.