Added true castling implementation which actually moves the Rook dom elements as well as the underlying model pieces. High levels of duplication need to be removed.