Changed cachebusting strategy.
It used to use use an uncached iframe where all the content would go.
Now the page starts empty. The top level HTML injects a tiny bit of uncachable JS,
The uncachable JS loads a huge blob of cachable fingerprinted JS.
That cachable JS has to add its own HTML and stuff.

So my DOM will start at the top level, and not in an iframe,
and it will still be served fresh within five seconds of my git push.
The downside is that web crawlers will have to execute tons of JS
before they can see the content.

Workarounds. Blarg!
finally got something animated going on. Removed tons of unused code.
Removed most unneeded JS from "first".
Added "second", a copy of the old bloated "first".
Removed old generated (gen-)main.html files.
Removed unneeded NOCACHE_JS-deleting code from make.py.
made the body edgeless

trying to get rid of scrollbars
edgeless canvas too
overflow hidden

die scrollbars die
something vorp-ish in Second
w'ev
explosions, trail, zombie
the new JS
fixed favicons for subpages