Minor Updates to Scrollspy.js

Minor refactoring...

* Make `this.offsets` and `this.targets` vanilla javascript arrays again
* Removes check for href attribute on the scrollable element – No one is going to use an `<a>` tag to define a scrollable block
* Removes `this.$element` since it was merely a duplicate of `this.$scrollElement`
* Combine logic of multiple segments within the refresh method which depend on whether or not `$scrollElement` is equal to `window` for better speed and readability.