Keyguard: fix NPE setting lockscreen wallpaper

Continue previous patchset (check history)

------- Cherry-picked commit -------

After boot the view might not be laid out and so getWidth() and
getHeight() return 0 and will cause a NullPointerException in
createBitmap().

Signed-off-by: Dirk Rettschlag <dirk.rettschlag@gmail.com>
Fix frontOfTask assignment.

If all activities of a given stack were finishing, no activity was
marked as front-of-task. This confused ActivityManager, so make sure
there's always exactly one activity marked as front-of-task.

Change-Id: I087cbe10280d4a60aa5ccfaefe24a223523fb3f2
Pie: Fix repositioning issue for no h/w rotation

Since release, a bug has been lurking. It can be easily triggered by
placing Pie on the shorter bottom bezel and rotating to landscape in
any app. Then the user has to keep the device on a stable surface to
avoid triggering the hardware sensor and must simply use the Home
button on the Pie menu. After this, Pie trigger area will be placed
on the right-hand side, but will still appear at the bottom. When the
user moves/picks up the phone, the sensor will be triggered and Pie
will be correctly repositioned.

This commit also adds listening to screen configuration changes
directly along with using the legacy hardware sensors.

Change-Id: I7769b58fa36bd55bb6d4c44a28051916bfb1bbda