Added support for gwt logging (and js api for controlling it:
tnoodlejs.setLogLevel) This fixes #112

Also fixed up some bad oop design in the Puzzle class. There should not
be much logic in the PuzzleState class, as it makes it exceedingly
difficult to subclass the Puzzle class.