Changed to async methods for template and event-data loading

Added onAfterInitialize event. Data is now loaded asynchronously. All templates are loaded during initialization and cached where they would normally be expected in options.templates. Loading the templates on demand was not really an option when underscore templating expects a return value and not a callback function for the subtemplates. 

IMPORTANT CHANGE: initializing the calendar i.e. $('div').calendar() - should probably not return a value. Define a global calendar variable like this:


var calendar;
$('#calendar').calendar({
	onAfterInitialize: function(cal) {
			
		calendar = cal;
	}
});


It is far from perfect but seems to work! Thanks.