Implement board sliding in terms of ArrayValueSlider

Factor out "computer turn" logic into its own class (still needs unit tests)