Enable external tracker configuration

! Fix beforeUnload for Chromes (this time it's an ugly synchronuous call
  to our server -- further research is required)

  Piwik.js's solution was useless. :(

- Move beforeUnload related code to tracker
- Rename algernonTrap -> AlgernonTrap
- Simplify AlgernonTrap and Transport code
- Make Transport default url the default version: "/v1"
- Add configurable Transport url and headers
Fix serialization bug (C&P-typo) in mouseMoveHandler
Refactor examples layout

A clearer, more concise gulp task layout and source tree are needed.
Replace synchronuous POST call in beforeUnload handler
Add new handlers and new serialized event types

- Change data format to v1.1 and replace ad-hoc protocol description
  with BNF
- Add windowSizeHandler and pageScrollHandler.
- Change POST data from urlparsed to raw.
- Move buffer's functionality into transport.
- Add browser (long-term id) and session (short, temporary) id to
  tracker.
- Add cookie support to tracker.
- Add header inspection to 'serve' task.
- Move time difference logic to a common place (state.js).
- Add unused mdn-wheel shim and unused mouse wheel handler.
- Fix/converge tests.
- Normalize naming in app.js (windowAT -> algernonTrap and co.).
- Remove unnecessary CSS definitions (in app).
- Remove rawBuffer, that was for debug only.
- Replace vim-swap rule in .gitignore to ignore '.swp'.
Add marker feature

- Add triggerable marker (and its handler).
- Change CI -> AT in constants.
- Add buffer serialization tests.
- Fix unit test basics / invocation.
- Change constant names to variables.
- Move handlers to local variables.
- Fix getDT for timeStamps with microseconds resolution.
- Fix scroll / windowSize initialization in state.
Replace/extend mouseMove event serialization

- Fix IE8 preventDefault() bug (refix).
- Replace short/long move with full event-data serialization.
- Add button number serialization to event stream.
Enable cross domain tracker

- Change content type from "application/octet-stream" to "text/plain"
- Move extra "X-*" headers to data (as a header).
- Remove data-format version dependency from test cases.
Add optional idleTimeout feature

- Also move sessionID handling out a "layer" to preserve its value
  throughout a real page-load-unload session.
Fix IE9 setRequestHeader on XDomainRequest bug

- Fix send() arguments in examples and
- Remove some unnecessary, already commented code fragments.
Change default URL back to '/s'

Due to the data contains a version magic (in its first two 6-bits), it
is unnecessary to filter by a (redundant) version in the URL.

Gather everything now, we can cut out the garbage later.
Fix missing/wrong event handling and FF/Chrome differences

- Fix wrong vX/vY in mouseMoveHandler.
- Fix wrong scroll handling in Chromes.
- Fix timeStamp hell that caused 0's in Chromes (fixes #17).
- Add underflow/overflow check to transport's push().
- Add underflow/overflow tests.
Fix missing CORS headers in responses

- Add default Access-Control-Allow-Origin header to "*"
- Add a standalone example
Enable visitor-id support in tracker
Replace add debug and named marker to serialized events

- Rename marker to debug.
- Add a new string-only marker.
- Add examples to app and tracker/page-2.
Change default idle timeout in tracker to 2.0s