Game starts with empty board

This commit doesn't really do much. It simply allows me to start testing as a
person as well as with high level feature tests. I'm trying to keep the feature
tests as agnostic as possible. This means not including any dependencies and
testing at a layer just below the UI.

At the moment I'm not really liking that `play!` renders output.  I don't want
UI stuff in here. However, I don't have any other reason to extract or move it
at the moment, so I'll leave it as is.