A framework for interactive web-based talks using D3.js