JavaScript toolkit for building next-generation, offline-capable, hybrid, mobile web applications