sha224-hashed JS filename

The JS version is a hash of the contents, so it should be infinitely
cachable, and it won't change unless the actual contents change.
Changed main page generator to use the JS hash name.
Changed generated main page name to gen-main.html, so maybe I'll stop
trying to edit it directly.