* fix(naughty: icon: new, fit): use `icon_size` from the notification object if defined (fixes#3752)
* fixup! fix(naughty: icon: new, fit): use `icon_size` from the notification object if defined (fixes#3752)
* fixup! fixup! fix(naughty: icon: new, fit): use `icon_size` from the notification object if defined (fixes#3752)
luajit was failing to GC the notification about 5% of the time. This
commit stores all widget notifications in a weak table and don't let
any lambda access the parent object notification object.
Each of those changes reduces the failure rate. There might still be
a couple in there, but the test passed 200x on my laptop with 100%
success rate.