Refactoring toyplot.axes.Table.

The goals of this round of refactoring is as follows:

* Enable merged cells.
* Decouple the table shape from its input data.
* Manipulating header cells should be more like manipulating
  body cells.
Introduce toyplot.axes.Table.Region so we can consolidate header and body code.
Cleanup the table row/column layout for separate header regions.
Fix a problem rendering merged cells.
Re-implement headers as a separate region.
Fix a regression rendering merged cells.
Ensure that visible cells are rendered in a deterministic order.
Create a default grid line between table header and body.
Fixing regression test failures.
Setup a test scenario for boundary gridlines.