Dashboard widgets should be cleaned when no longer available after plugin removal
Fixes #29379 - don't try to load removed widget
After a plugin removal, its widgets are still stored for user dashboard.
We can detect the widget won't be able to be rendered and skip it, to
avoid ugly red boxes on dashboard.
With this patch, widget model gets a new scope that can filter only
widget that are known. Records remain in the database in case the plugin
is reinstalled later however it's silently ignored on the dashboard.