add docs generation using jsdoc, closes #8