reland: mash cleanup: Remove wallpaper.mojom

The change in PS1 ( crrev.com/c/1626011 ) was reverted for failures:
crbug.com/967929 SessionRestoreTestChromeOS tests failing...
Split SetClient from Init; call SetClient(null) in the client's dtor.
See the bug for additional detail. Minor cleanup.

Original description:

Move wallpaper.mojom to a virtual c++ interface.
Update impl and clients, make some methods sync.
Combine mojo and non-mojo observer types.
Add a static WallpaperController::Get(), cleanup.

[email protected]

Bug: 958227
Test: No Chrome OS wallpaper regressions.
Change-Id: I8ae097605c7c8eeacf64370878ed79c405885332
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1635796
Commit-Queue: Michael Wasserman <[email protected]>
Auto-Submit: Michael Wasserman <[email protected]>
Reviewed-by: Daniel Cheng <[email protected]>
Cr-Commit-Position: refs/heads/master@{#664784}
diff --git a/ash/test/ash_test_helper.cc b/ash/test/ash_test_helper.cc
index 1f42194..b545db8 100644
--- a/ash/test/ash_test_helper.cc
+++ b/ash/test/ash_test_helper.cc
@@ -26,7 +26,7 @@
 #include "ash/system/screen_layout_observer.h"
 #include "ash/test/ash_test_views_delegate.h"
 #include "ash/test_shell_delegate.h"
-#include "ash/wallpaper/wallpaper_controller.h"
+#include "ash/wallpaper/wallpaper_controller_impl.h"
 #include "ash/wm/overview/overview_controller.h"
 #include "base/bind.h"
 #include "base/run_loop.h"