- shift query and other "lib" functions out of background.js
- namespace background.js with IIFE to avoid leaked globals
- added empty popup