Many changes -- see comments

Added CountMoves() function
Move generation now caches its output via GetMoves()
Position material now calculated via delta from previous position
Added basic mobility calculation