Your comments

I have found java library to read DJVU files. I'll try to use it in Ubooquity (so far I am optimistic). 
True. That's because a lot of devices lie about their resolution. For instance an iPad will declare a width of 900px while its true width is 1536px. An image resized to 900px is ugly on such a screen. I chose 1200px as the minimum width to prevent resizing to too small a width.
In fact the operating system is not involved in the sorting (the program is running in the Java virtual machine, so almost everything is OS independant). Everything is done by the internal database (H2).

The filename sort is a lexicographic one (the comparison is done between strings of characters, not numbers), so "100" coming before "11" is the expected result. 
The easiest way to fix your problem (easiest for me at least ;)) would be to name your files using zeros in front of the issue number (it is a good practice anyway).
Luckily there is an application for that: ZenCBR.
Regarding the HTML templates, the problem is not really the use of a template engine, as some very simple ones are available (I'm thinking Mustache for instance), but rather the way the HTML is currently generated: heavily coupled with the code.
Thanks for the suggestion.
I already tried to implement image caching in the reader, but it's not working well. Your code will be helpful.
However I'll try to keep the reader as simple as possible as it's the easiest way to achieve a maximum compatibility with different devices. And because I'm not a big fan of Javascript development. So I'm not sold yet on the swiping and the use of JQuery, we'll see...
Unfortunately there is no HTML file in Jar: all the HTML is generated at runtime directly by the code (there is no template).

I could "externalize" the javascript though. Let me know if this would be useful to you even without the ability to modify the HTML.