Code cleanup, fix major indent.

This is the first commit in a series of commits that will clean up the
code. This commit simply indents the entire script to the correct column
within the wrapper, hence marking the entire script as different.
Code cleanup, fix everything else.

This is the final "cleanup" commit, related to
43f6b774a0eebd9bb6b1e37ffd870a2a48f95ced

- Renamed variables to more sensible names
- Optimized certain selectors that could use the global objects (the
menu or button)
- Added more sensible error/warning messages and prefixed all with
script name
- Fixed doc blocks to proper JSDoc notation
- Split large groups of code into smaller more manageable functions
(mainly in `setup`)
- Fixed double instance when script is injected (added return to
`injectNeeded` block)
- Reorganized logic during init (refer to `objectsLoaded`, `loggedIn`
and `chatLoaded` instead of the individual items)
- Simplified wrapper (use `this.unsafeWindow` instead of trying to
assign `window.unsafeWindow`)
Increase timeouts for init and emote set checks

On init: will try to run every 50ms for 10s, then every 1000ms for an
additional 50s, errors after 60s.
On emote set check: will try to run every 50ms for 10s, then every
1000ms for an additional 50s, warns after 60s.
Moved emote listeners to delegated listener.