Added module for interactive demo.

Note that code from this commit was adapted from this Stackoverflow answer by
Joe Kington: http://stackoverflow.com/a/16531438
Mostly finished up with interaction sections.