In my undergrad AI course we spent half a semester creating various chess engines and testing them out using XBoard or WinBoard. Then at the end of the semester we had a tournament where the student's chess engines competed with each other in XBoard. Overall it worked out pretty well.
Interfacing to XBoard is fairly easy if I recall correctly. Here are some links.
http://www.gnu.org/software/xboard/
interface for XBoard
http://www.tim-mann.org/xboard/engine-intf.html
I'm not sure if this gets you everything you want, I think our chess engines had to create their own board representations and come up with moves on their own, but at least it gets you a graphical board that knows the rules and has a GUI.