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.
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?