Added castling - all that's left is detecting checkmate