Async loading migrated to be a widget, so that it can be used on multiple images per page.