Bug 1074732 - [Messages] Create a mixin to handle the select UI model

- Unbind the selected inputs logic from DOM tree structure. Create a selection module that listens to input select changed and return the selected data.
yeah, basically, we should have events :) here is an idea:
* an event "action"
* an event "cancel"

In the future, we should have a property "action" to distinguish delete vs mark as read vs mark as unread; since actions will be different in ThreadUI and ThreadListUI I think we'll need to pass them in the constructor.
But no need to do this right now.