Rewrote a lot of things.

 - First off, structured the code much more nicely.
 - Secondly, if a tab isn't on, it's now considered off.
 - Thirdly, added a "status" function.
 - Fourthly, the object is closure'd so private things can't be bothered.
 - Fifthly, added some sanity testing that logs errors when something breaks a
   contract or something like that.
 - Sixthly, updated the readme to reflect changes.
 - Seventhly, updated index.html to reflect changes.
Updated readme further.