make "table" a exported type "Table" to allow extending it

The current table type makes it hard to extend the table. If I want
to create a table with a different default appearance thats hard,
i.e. I can't created "func NewCustomTable() *table {}". By exporting
the type this is now possible.

The commit also adds a test for this new NewCustomizedTable().
Some whitespace changes because "go fmt" was also run.