How to make a high current bi-directional motor driver circuit
The FET is a IRL3705N. It has a threshold voltage of min 1V and max
  2V.


Threshold voltage is just the point at which the FET starts to turn on. To be fully turned on it needs 5V or more (see datasheet fig 1. and fig 2.). A 14.4V drill motor can easily draw over 30A at startup, so the FET needs to turn on as hard as possible to maintain a low Drain-Source resistance. 

If the FET is only partly turned on then it will drop more voltage and heat up. This also applies when switching it on and off. If you are applying PWM then you must ensure that the Gate voltage rises and falls quickly. Each transition causes the FET to heat up a little. As PWM frequency is increased there are more transitions and the FET will get hotter, so the rise and fall times need to be shorter. 

Your circuit shows the Gate being driven by an optocoupler switching +12V to a (1k?) resistor. With this driver circuit the Gate voltage should rise reasonably quickly (assuming the optocoupler is being driven hard enough) but will fall quite slowly due to the large amount of charge stored on the Gate. To improve the switching speed you could add a push-pull driver using an NPN and PNP transistor, like this:-



Both transistors are connected in 'Emitter Follower' configuration, so they amplify the current by about 100 times (Hfe of the transistors) and reduce switching time by about the same amount.

For efficiency the PWM frequency should be high enough (>3kHz) that motor inductance smooths out the current, but low enough to not cause too much switching loss. At this frequency the flyback diode needs to be a fast switching type, preferably a high current Schottky type to keep voltage drop down. 


  When the motor is a generator, the diode is initially reverse biased.


If throttle is reduced quickly then the motor will continue to generate voltage until it stops, but as that voltage is the same polarity it won't hurt the rest of the circuit. If you switch direction while the motor is spinning the diode will become forward biased and 'brake' the motor. After switching direction You should not apply PWM until the motor is stationary, else a very high current will flow through the FET. With the diode providing braking the motor should stop quickly.