fix(board): emit 'badmove' with player data

This is needed to simplify backend server code, otherwise it makes things a tiny bit crazy.

Closes #4