Implemented a lot of hookshot logic.

The hook is now fired on mouseDown and cancelled on mouseUp. This means that a player can cancel a hookshot in the middle of shooting it. You can also cancel in the middle of being pulled in by releasing the mouse button.

I also added a cooldown to shooting so that you cannot simply hold down the mouse button and travel around the world without any issues what so ever.