Make Room class manage instances of Talk

Also simplify the #include hierarchy at miscellaneous points.
Store Matrix data in a one-dimensional array

* Deduplicate Matrix code with the new function getNeighbors()
Eliminates case checks at many places where something needs to be done with
all neighbors of a given point.

* Remove unused and unnecessary code in Matrix and Tree classes

* Make some methods private

* Make boardSize const int instead of int*

Is it really worth the trouble to store all these groups? Assembling a group with
a properly implemented wave search has linear complexity in size of the board.

By the way, the function checkfalseEye() does not do what is advertised in its name.
After all, false eyes may have size >1.