CompoundColumns test page: Add grid and form to test combinations

Allows testing with ColumnSet, ColumnHider, and/or ColumnResizer.

Also did some general formatting cleanup.
ColumnHider: break out column-showing logic to _showColumn
ColumnHider: Call resize after applying IE8 workaround
ColumnResizer: Check that a column is passed to resizeColumnWidth

It is possible for resizeColumnWidth to receive an undefined column value
when used with CompoundColumns (since the parent spanning cells do not
exist in the column structure).
ColumnResizer: Suppress focus outline on resizer node
CompoundColumns: Add logic to support ColumnHider and ColumnResizer

Note that this currently requires that ColumnHider and/or ColumnResizer be
mixed in *before* CompoundColumns, since CompoundColumns will extend
methods from the other two.  This is in contrast to ColumnSet, which needs
to be mixed in *after* CompoundColumns.

This also includes an extension to renderHeader to ensure that headerNode
is annotated on the objects in the columns object and subRows array, which
was necessary for the ColumnResizer-related work.

Also includes some general cleanup.
Fix a problem with combining ColumnSet, ColumnResizer and CompoundColumns.