Switch to new protocol for hybrid hotseat

- create predictor from items in bgModel instead of scanning views
- Launcher no longer checks for duplicates before sending pin/unpin events
- sending cached items from last prediction to reduce UI shuffle
- Switch to using UserCache to persist and read ComponentKey

Bug: 148814143
Bug: 156413231
Bug: 156200931
Change-Id: Ide6330bed8eb7f0c6fbec1d1ac21e7f67a9b2be2
(cherry picked from commit d12d6ab98a6f390c5b4c59b303e35a3f596645be)
(cherry picked from commit fa369310e2108a6e5915b5873d3bab16482213fd)
9 files changed