Objectify DOMLine and ContentCollector

The pseudo object style was pretty painful, not to mention difficult to understand. This changes things to use constructors and prototypes. There’s a chance this helps with performance (quite a bit of duplication without prototypes and I think these are frequently created objects), but it’s basically cosmetic.