dom/event/keyboard: avoid possible undefined values
dom/node_set: use method_missing to provide Array methods
dom/node: fix #ancestors
css/builder: disallow usage of commas in selectors