Bug 942724 - Support multiple notifications for recording device status

- refactor: using createItem function to return data dict
- abstract renderPanels
- fix and support recording status
- add test cases
- refactor use updateRecordingStatus
- update statusbar status via custom event
Merge pull request #16808 from gasolin/issue-942724

Bug 942724 - Support multiple notifications for recording device status, r=alive