Refactor 80-character ruler for speed

> Don't create a div for each line. Instead, calculate the width of the
gutter (line numbers) and take the padding of the "code" cell into
account. This approach results in vastly improved performance when
reviewing large patches, positions the ruler at the same pixel
position for the ruler as before, and barely changes the visual
appearance of the ruler.

I mostly used https://drupal.org/comment/7293984#comment-7293984 to test as an example of a large patch that without this refactor is extremely sluggish when scrolling.

So far this has only been tested in Chrome.