"this" var scope bugfix
switch to using svg images directly, for better appearance on retina display
switch to dispatcher-based design (lightweight react flux), fixing a few subtle bugs in the process; beginnings of caption editing