Use idiogrammatik and vcf.js from NPM

And many associated changes, including cleaning up code that used the
old APIs provided by the modules, and improving idiogram interactivity
by gainfully using the new API.
Not particularly, we just use null when we mean that start isn't set, instead of 0.