Well, it produces a game board that mostly looks okay

Some of the moves are not applying correctly though, probably due to
apply_to_line not working as expected.
Got my cartesian coordinates the wrong way round, making debugging difficult.