Various improvements (improving reliabiltiy and adding filter/search)

 * removing 'dirty' checks in rendering, too many caveats to keep track of (once we have testing in place, we can reliably optimize this)
 * adding a small stylesheet for hiding rows (since CSS classes are faster than inline styles)
 * breaking out life-cycle logic into prototype methods
 * adding text filtering