Make BoardPanel more modular, by splitting it to two classes. Add support to show potential moves. Fix bugs in PlayOneStep