Added Offline.js, fixes #15.