Bug 1084298 - [Messages] Decoupling the all inputs query logic from DOM tree structure

- Add map for each view for maintaining the data for rendering/selection
> Hmm, not sure if it's a rare case that removing bunch of threads contains draft, but I think this issue also existed currently because it only pending the Drafts.store for pure draft case. If we are deleting the threads contains draft now, we will facing the same concern.

Ah yeah, I forgot that we have in-thread-drafts too, right.

> I agree that it seems not very ideal for handling the database, but I remember that the platform seems not actually write the data to memory when you storing the data. They might using some trick to make the data get/set smoother. Will need some experiment for it. Anyway, do you prefer having additional flag for thread deletion that delay pending the draft store until we call it manually?

I'm fine also if you just file a follow-up bug to handle both drafts and in-thread-drafts during batch deletion more efficiently :)