Before change callback

This PR allows the developer to bind custom callbacks to be called before the change event occurs.

```javascript
var introJs = introJs();

introJs.onbeforechange(function() {
    console.log('This is fired BEFORE the change occurs');
});

introJs.onchange(function() {
    console.log('This is fired AFTER the change occurs');
});

introJs.start();
```