Changing between channels will preserve overlay.

Twitch has a bunch of places where the page's content gets replaced, the
url gets updated, but it is not really a page change. Thus, the overlay
keeps being referenced but all its dom element references are gone.

Here we hook to the tab's update event to detect a page change. When
detected, clean up the chat overlay and then proceed to re-inject it again
on the next loaded content.

- observeDOM closure upgraded to export 2 functions: observe and
  disconnect.
- Renamed removeChatInjection into removeChatOverlay.  Added more cleanup
  code.

Fixes #2
Fixing issue where auto-injecting chat after navigating to a new tab-url the canvas size would be 0x0 because stream video player was not initialized yet.
Making overlay a tad bit transparent.