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).