Additive Callbacks

Sorry that the commit is a bit of a mess, I can't see a lot of the white-space changes on my local, possibly a line-endings issue?

This commit is to create a more "events" like model for callbacks, which will allow you to add a function to a callback, rather than replace the whole callback.

// Current method

// Default callbacks
swiper.params.onSlideChangeStart : function (swiper) {
    swiper.PopulateImages();
}

// Add A Callback
swiper.params.onSlideChangeStart: function() {
    swiper.PopulateImages();
    swiper.UpdateSlides();
}

// New Method

// Default Callbacks
swiper.params.onSlideChangeStart: function() {
    PopulateImages();
}

// Add a Callback:
swiper.addCallback('SlideChangeStart', function (swiper) {
    UpdateSlides();
}

I've tested the SlideChangeStart and SlideChangeEnd events in the latest Chrome.

This is functionality that would be useful for me, please let me know if you think this is a good idea/if you'd like me to create further testing.

Thanks
-Lee