Fix a few massive derps.

- Don't bind events within a function that gets called repeatedly.  This
  spells !fun!, which is generally bad.
- To really achieve not doing work, the filtering of inputs doesn't
  actually take time - it's in the sorting/rendering, so just make sure
  if the input hasn't changed, don't bother rendering.
Bind events at document ready for consistency.