be more lenient about OSErrors in __del__()
update changelog
close uinput in __exit__ only if a fd exists