3.0 widgets merge

Relying on InstanceTrait::config() to merge the config caused problems as we
want the config array of each widget to be overwritten instead of being merged.

Also keeping the 'widgets' and 'registry' key in config served no purpose as
changing them at runtime wouldn't do anything since widget registry instance is
already created by constructor.

Fixes #5067