Handle cases where onload handler is attached after onload

It's possible that a plugin attaches an onload handler after onload.  In
this case, fire the handler as soon as possible, and trust it to use
navtiming (where available) to determine when onload actually fired.
implement a setImmediate function, and use it
if document.readyState is already complete, then fire page_ready immediately
Walk up DOM tree onclick to an Anchor

This fixes an issue found by @yuweitaocn

When clicking on an image/any other element inside a link, the click
target is reported as the image/element and not the link.  We need to
walk up the tree until we find the first Anchor that contains the
clicked element and use that instead.
make comments make more sense
make a debug versions when building prod version
add newline after functions that do not take window as well
add bang so yuicompressor leaves copyright in there
Revert "add bang so yuicompressor leaves copyright in there"

Looks like yuicompressor-2.4.8 doesn't actually like this.

This reverts commit bd6c0c307f401d8077f60b37e41a9dc3fe74e1fb.
well, cb_scope should be passed in last, not first
immediate is closer to 10ms than 50
well, cb_scope should be passed in last, not first
immediate is closer to 10ms than 50
make a debug versions when building prod version
add newline after functions that do not take window as well
add SOASTA to copyright
debug message to show the beacon we send out
utility method to convert object to a string.  also useful during debugging
handle undefined objects and non-objects, and most common use case should be default
Do not initialise RT more than once

The RT plugin attaches event handlers in its init method.  If init is
called more than once, these handlers might be attached more than once.
On most browsers, we detect if a handler is being attached more than
once, but on Safari 6, this does not appear to work.

The work around is to set a flag when init is called that makes sure it
is not called again.