The min-x, max-x, min-y, and max-y
arguments specify the dimensions of the board plane to be visible in
the window by default.

The lift argument specifies how many units a piece moves
vertically when the user clicks on it.

The move function is called when a piece is moved to a space
(possibly it’s current space), when a space is clicked on, and when a
space is dragged to another space. The move function is
given the information of the piece or space selected and the
coordinates to which it is moved.

The who argument is used for reporting an error to the user
when GL is unavailable at run time.

Adds a piece to the board. The draw thunk should draw the
piece (using GL commands) when called. The info argument is
given to the move function (supplied to the constructor)
when the piece is moved. The piece is translated by x,
y, and z before drawing.