feature: Add provider to supply own Snap func

Use `SnapConstructorProvider#use`  to provide your own Snap constructor
function. This should help users pulling in Snap.js with a module loader who
don't want to rely on window.Snap.
docs: Add usage details for SnapConstructorProvider
chore: Bump version for release (v1.5.0)