Bug 956588 - Make sure that we pass a blob when setting wallpaper

Bug 943246 removed the checking on strings. Turns out that we do want
this. So we re-introduce this, and if the wallpaper is a data URI we
directly use it.
Merge pull request #15063 from lissyx/bug956588

Bug 956588 - Make sure that we pass a blob when setting wallpaper r=etienne