Yeah, at least for the caching part, it seems like you should let that be the browser's responsibility, and set up Expires headers/etc appropriately. But what about the offline viewing use case? What are some good solutions to that these days?
Why would you consider that bad? GPL brings its particular baggage, but LGPL seems fairly unobtrusive to use in about anything. RMS seems to even discourage its use, even though he created it!
Looks like an open-source version of Cloudflare's Rocket Loader, but without the source file concatenation. Still, we should produce something open-source for these.
For localStorage? I can't find any information on that. I know this is the case for Web SQL databases. But as far as I understand, localStorage is hard coded with no chance of expansion. To make matters worse, localStorage uses strings, effectively cutting your storage a good deal.