My ideal would be sqlite in the back, sqlite in the browser, with a sync table that uses database triggers for managing a log of the normal tables.
I've written a few more thoughts here: https://github.com/ericbets/erics-designs/blob/master/funcdb...