Implement gtp control

This branch implements the basics of GTP control, and a random-play engine to implement the genmove command. It works with GoGUI.

I have discovered an issue, however, where in the late game, liberties are miscounted, the engine will removed stones with >0 libs as if they were captured, which will result in it playing on occupied intersections.

GTP commands implemented so far:
* play
* genmove
* protocol_version
* name
* version
* known_command
* list_commands
* quit
* boardsize
* clear_board
* komi
* showboard (which is not in the minimal implementation, but useful for debugging).

I have just won a contract for some web-dev, so I'll probably have less time to work on this for some weeks, which is why I'm showing you the state of this code even though I know there's a bug. It looks like the bug isn't in the GTP implementation anyways, but in the underlying engine (currently master...).