Clean/JSLint/renaming/refactoring (maintainability)

This isn't the equivalent of a "I R#'d your code" commit, so don't panic.

Most important change here; I've modified the variables so they match their purpose, it's better to be verbose and to be honest makes contributions that little bit simpler if everything isn't just using letters... we have minification for reducing the size of the script before it gets to the user.

Swapped out passing 'this' in for 'window'. Scope confusion.

Added JSLint tags and altered the code to meet the requirements.
(equality usage/formatting etc etc etc etc)

As I say, attempting to increase maintainability and contributions by increasing the readability and adding in the standard.

The only breaking change is I've set the debug (verbose) flag to false by default.