Don't assume that the fullscreen change event target is an element

The unprefixed fullscreenchange event is fired on the document, and so
_fullscreenChangeHandler would return early when the Fullscreen API is
unprefixed in Blink:
https://code.google.com/p/chromium/issues/detail?id=383813

Gecko also fires the mozfullscreenchange on the document, and so this
code path ought to already be broken in Firefox.

The early return was introduced in commit
415f07e78f5ff589cb5c18028b0dbad50a984b1f.

Instead, check if the fullscreen state has changed, similar to what
the _view.fullscreen() function does. Coerce to boolean in a few
places to ensure that fullscreenState is in fact boolean.