One thing these handlers are doing is polluting the global namespace.  Either put them in the Dygraphs namespace, or, use a closure to prevent names from being polluted.

Also, each file requires a @fileoverview document, e.g.

/**
 * @fileoverview The default interaction model for Dygraphs. This is kept out
 * of dygraph.js for better navigability.
 * @author Robert Konigsberg (konigsberg@google.com)
 */

/*jshint globalstrict: true */
"use strict";

possibly, but probably not, class tags.
/**
 * A collection of functions to facilitate build custom interaction models.
 * @class
 */