Presentation API shim: "statechange" event when connection fails

The "requestSession" method returns a PresentationSession object
that is initially in the "disconnected" state. To tell the caller
that the presentation session could not be connected at all, the
code now fires a "statechange" event even though the state has not
really changed.