Massive refactoring of the entire codebase

- Eliminated many Objective-C to C++ bridging patterns by encapsulating all bridging in the new SFMPosition class
- Added many method annotations/documentation
- Improved unit tests

Known issues:

- Currently, all view code is broken.
Fix views enough such that the project compiles

Known issues:
- Crash on "Do best move"
- No pieces are actually displayed
Improved view code
Bump version number
Formatting fixes, update binaries
Run Objective-C modernizer
Magic Move and Itertools

- Magic Move for the board
- Itertools for Objective-C
- Fix en passant bug
- Fix rare crash with arrows