Bug865750: visibility_monitor rewrite using getElementsByTagName

A rewrite of visibility_monitor.js able to monitor nodes at any depth level, as long as they all have the same tag name

Note: I'll squash the commits after the review