Improved IHookable API

- All methods now have ShotType, World, and x,y,z parameters
- Added method to handle whether hookshot can destroy block
- Moved ShotType to API and renamed to HookshotType