jshint + jsdoc. setTimeline

refactor includes privatizing many functions and variables
base class for sources
jsdoc + jshint. some name changes
document, cleanup and lint