Creating a self contained, offline HTML5 app and the best method for embedding its resources
Yes, base64 encode the images. What I do is save them as png and to the correct size before converting to base64 (there are free online sites that do it for you). This saves a lot of space.
For saving data to localfile, use HTML5 local storage, here is a guide: http://www.html5rocks.com/en/features/storage.
For the JS/CSS files, just paste them in the head, no biggie!