Check empty options and support dynamically loaded content

Added a check for initially empty options in background.js
In content_script.js added an event listener to handle updates to the DOM when new content has been loaded into the page