Add module for generating citations

Right now, we generate citations with web workers created from the file
editorsnotes/djotero/static/function/citeproc-worker.js. This is OK, but
it's difficult to test/change. Not so much that file itself, but
everything that it relies on.

In this commit, we're taking a temporary step back (maybe), creating
several new browserify modules for using citeproc-js.

Going forward, we may want to adjust this new approach to use web
workers again to prevent slowdown upon initializing a CSL engine, but
this was the simplest case to implement. Using web workers again would
require switching to the JSON-based DOM parser included in the
citeproc-js source, as well as preprocessing CSL & locale styles to
return a JSON-formatted representation of those DOM trees rather than an
XML one. That's definitely doable, but not urgent.

Browserify & citeproc-js
=========================
Citeproc-js exposes itself in `module.exports`. When it does so, it
`require`s a file in the same directory called 'csl_nodejs_jsdom.js' and
expects it to have a DOM parser called CSL_NODEJS_JSDOM. We need to use
the xmldom.js parser provided by citeproc-js, so I created that
'csl_nodejs_jsdom.js' file which `require`s xmldom.js.

The problem here is that xmldom.js is NOT commonjs compliant, and it
also depends on the global variable CSL.INSTITUTION_KEYS. So, I made two
slight modifications to that file: I added a `module.exports` line which
exports the parser; and I added the values for CSL.INSTITUTION_KEYS
manually.

The next problem was getting citation styles & locales into citeproc. I
did that by adding copying files from the CSL style and locale
repositories, and then using fs.readFileSync along with a browserify
transform that allows doing so (`brfs`).

(citeproc-js updated to version 1.0.521)
Fix bad path in browserify entry points
Add more browsers to testling field