This patch allows the ColumnRuler plugin and the "blame" command from the SVN plugin to work in harmony. See this tracker for some background:
This patch modifies ScrollLayout to be essentially a 3 x 3 grid layout. Previously, it was very similar to a BorderLayout. With the 3 x 3 layout, it is now possible to add small components, like buttons or labels, in the corners of the text area. For the case of ColumnRuler, it still is placed in the top center. For the SVN blame command, the "close blame" button can go in the top right corner, which lets them both be visible at once without clashing. There are constraints on the sizes of the corners, for example, the width of the bottom left corner is the width of the gutter, the height of the bottom left corner is the height of the bottom scrollbar.
The patch also adds a few methods to TextArea to set the corner components. I did not add methods to remove the corner components since the "remove(Component)" method inherited from JComponent already does that.
One side effect/feature is now the bottom scroll bar is the same width as the center text area rather than extending under the gutter and under any components added to the right side of the text area.