Use insertAt in background layers component

As discussed during our weekly dev meeting we currently have a bug where an overlay may be replaced by a background layer. To reproduce:

* Select the void layer in the background layer selector
* Add an overlay from the catalog
* Select another background layer in the background layer selector

The overlay disappears in the map. It's actually replaced by the background layer lastly selected. This PR fixes by using insertAt and appropriate checks.