V3

re-implements #12 

  - the whole snippet must be invoked once, but warn (backed with tests).
  - remove leaked globals (`i`, `key`).
  - make sure uglify separates expressions with `;`, instead of `,` (some users think this is a syntax error).
  - make sure we still separate `analytics.load()` and `analytics.page()` with `\n`, so that users access them easily.
  - add proper handlebars placeholders for `.page()` in the snippet, and minify inside `.min()`.
  - small `lib/index` cleanups.

Note that i had to wrap the snippet in a closure, because IMHO `if (window.analytics.invoked)` blah, is just too ugly haha.

cc @calvinfo @ianstormtaylor