Refactor throw and add MouseThrow

PsMoveThrow and MouseThrow are subclasses of Throw.
MouseThrow has serious issues on the boundaries of the stone
movement.