Fix the bookmarklet tests

Some updates, migrations, changes:
- Use mocha, sinon, and chai
- Don't try to re-require, since modules are cached. Instead, just
require the bookmarklet once and take care of mocks and stubs to
make it re-usable.
- Kill support for having jQuery already loaded. That's nonsense and
`jQuery.sub()` has been removed in recent jQuery anyway. Just load it
always and use `noConflict()`.
- Change permissions -> annotateItPermissions where applicable
- The `<plugin>Options()` methods return the options object passed in,
not the one resulting from the plugin initialization. Therefore, don't
check for the class defaults to exist, such as `userId` on the
AnnotateItPermissions options.
Mock bookmarklet load more aggressively

Rather than trying to actually mock and test adding a script to the
DOM to load jQuery and annotator, just skip testing that bit and
mock `jQuery.getScript()` and the style modifications applied to the
head tag.