Don't install unsupported event methods on the delegate proxy object

If `event.stopImmediatePropagation()` is not supported by the current
browser, don't install that method either on the proxy object used
during event delegation. This helps getting more descriptive error
messages.

Closes #774
Avoid `event.returnValue` deprecation warning in Chrome

Don't touch this property at all when copying over to proxy object.

Fixes #866
Provide `isDefaultPrevented()` & related methods for all events

Previously, these methods were only available in event delegation handlers:
- isDefaultPrevented
- isPropagationStopped
- isImmediatePropagationStopped

For compatibility with jQuery and for avoiding cross-browser differences,
now every event is extended with these methods before it's passed to an
event handler.

Alt. for #864
Fix `defaultPrevented` tests for Android 2.3

This property is not present in Android 2.3 so it shouldn't be used in
tests. Instead, use `isDefaultPrevented()` which is guaranteed to be
cross-platform.
Merge branch 'master' into event-ext
Add more descriptive assertion message for Android failure

On Android 2.3.7, the fact whether default was prevented doesn't seem to
be accessible on the event. Even though Android 2.3 doesn't support
the `defaultPrevented` property, it was supposed to support the legacy
`getPreventDefault()` method, but it doesn't. So this failure remains.
Merge branch 'event-ext'

Closes #864