Add functional UI test for AI player
Add functional UI test for AI player

In order to write this test in its entirety, the transition callback
system has also been refactored:
- The bound transitionend events no longer compound; they are unbound as
  soon as they fire
- During the development of the new AI test, there were some strange
  issues with assertions failing (the cause of which is still unknown);
  increasing the transition duration override from 1ms to 200ms seems to
  fix things fully and consistently
- The transitionend timeout has been removed since Mocha's built-in
  timeout mechanism should be sufficient in itself

caleb531/connect-four