Improve long-running task reporting
Description
When !1482 (merged) landed we gained the ability to easily render progress information to the frontend. However, this was not implemented for Pipeline.resolve_elements() (resolving the initial cached state of elements), which is probably the loading function which takes the longest.
Additionally, bst artifact show has also introduced a potentially long-running function Pipeline.check_remotes() (which checks if elements are cached remotely), so progress rendering support has been added here.
Lastly, the changes in !1482 (merged) were implemented so that we always report progress information, no matter how small the task. This has been hidden and will only be displayed if that task takes longer than 3 seconds.