Major refactor
Major refactoring and cleanup + some enhancements.
- Prefixed all API functions and type with 'ftk_'
- Cleaned up #defines for types with typedefs
- Reorganized structures
- Fixed some pointer usage
- Pawn promotion support
- Basic game end logic
- Check logic fixes