fixes bug where exception raise if parent is not available
fixes bug where keyboard events are broken if repeatedly adding & removing widgets

When the widget is removed from the screen, Node.remove() removes the
widget from screen.clickable and screen.keyable but Node.insert()
doesn't restore clickable & keyable (normally done by
Screen._listenKeys via the constructor).
fixes for focus

Element.focus() didn't set focus; Textarea with inputOnFocus changed to
use tab to terminate focus
restore to match master on chjj/blessed
Merge remote-tracking branch 'upstream/master'
Merge branch 'master' into mydev