Chat sessions

Start (if not already started):
    When message received from fulljid
    When active, composing, paused or inactive chat state received from fulljid
End:
    When message received from a different fulljid (start new session)
    When active, composing, paused or inactive received from different fulljid (start new session)
    When any presence received from any resource
    When gone received from fulljid
    When window closed
    When gone sent

Chat states

Active - focus chat window, or message send
Composing - typing in chat session (window)
Paused - no typing for 30 seconds
Inactive - unfocus chat window, or after 2 mins
Gone - close chat window, or after 10 mins

