Avoid sending messages of destroyed Engine

And app can call notifyColorsChanged() on a destroyed engine, which
would cause problems, given it doesn't have a surface anymore.

The same is true to visibility notification, where the engine can be
destroyed before it had the opportuinity of drawing its first frame (if
it had to load large assets for example)

Test: manually change wallpapers
Test: WallpaperServiceTest (both CTS and internal)
Fixes: 291053623
(cherry picked from commit 650a7f8afc00885afd6590e07b3a2e4c9ced404e)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:6f9ac2b1703c62f53cd5c504e1ac7a3371b4fbe9)
Merged-In: Iff83603695cff491f2045586d5b3f4658f7ae55a
Change-Id: Iff83603695cff491f2045586d5b3f4658f7ae55a
3 files changed