async date loading

 * asynchronous date loading interleaves the loading by loading chunks and releasing control back to the browser every once in a while
 * when a date is loaded, let the ui first handle the redrawing events and only then notify the date was already loaded