It turns out input[type=text] will only find input fields where
the type attribute is explicitly set to text, but would skip
fields that left it out and defaulted to type text. This changes
to catch all types of input elements.
The previous attempt at merely reading a property of event.target was
incorrect. It worked at first but errors reappeared later, so must
have been a reace.
This wraps the entire navigation event handlers in the try-catch, and
then checks for the very specific error and suppresses it. Other errors
are rethrown as is.
Changed the onclick handler to trigger the impress:console:open event
and not use the impressConsole() global function any more. The latter
is considered deprecated now that impressConsole is integrated into
impress.js itself.
Also catch some errors that appear in event handlers when the target
for the click event was immediately removed from DOM.
Fixes#651