Programmatic versions

This branch simply adds version strings to the js constructors that can be read at runtime.

The rationale for this is that I ran into a compatibility issue that I was able to fix via monkey-patching quite easily in an older version, while the issue is already fixed in the current version. I am developing for third party implementors, so I do not always have direct control over the version of bootstrap they choose to load. I would obviously prefer not to monkey-patch a library if I don't have to, but no version number is available at runtime. So I added this feature in.