+ Move class
+ Utility methods in Board
+ isFreePath method in Piece with implementations in every subclass
- Pawn movement is still not fully implemented, including promotion, en
passant and movement over two tiles
+ Simple input handler for testing purposes in BoardPanel
+ Abstract isValidMove method in Piece
+ Coordinate-based implementations of isValidMove in every subclass of
Piece
+ Board class as data model
+ Texture loading code in BoardPanel
+ Abstract Piece class with Type enum
- Moved piece textures into res/pieces
- Changes TextureLoader to work directly with files