Corrected problem with "owner of" condition
Fixed a bug that could cause certain pieces to not have their moves resolved, and others to be resolved multiple times
Added basic minimax AI, with trivial evaluation function
You can now only select moves for local players through the interface
Using setTimeout to allow the UI thread to update before starting AI calculations
Stopped piece move caching from interfering with the AI (& logging), although its a bit blunt at present (telling AI to get cached moves on first step instead of determining for itself)

If negamax AI finds multiple moves with equal scores, it returns one of these randomly, instead of just the first one.
Added alpha-beta pruning to negamax AI
AI now checks for end-of-game conditions
Added several difficulty levels using alphabeta, and AI vs AI game mode