How to Control the Temperature of Heating element using its resistance
The circuit is relatively simple.  It creates signals for the voltage across and the current thru the resistance.  These are then sampled by a microcontroller, that performs all the control loop functions.

It takes a divide of the voltage by the current, then a table lookup, to get the parameter you are trying to control.  That is very difficult and error prone to do in analog hardware, but not much of a problem with the right microcontroller.  You want to run the control loop 20-50 times faster than the first time constant of the heater.  You haven't said how big the heater is, but it's unlikely you need to go faster than 10 ms per iteration, even for a relatively small heater.  Even 1 ms per iteration is a very long time for a microcontroller.  For example, a dsPIC 33E can do 70,000 instructions in that time.  To put this in perspective, it only take 18 instructions to divide a 32 bit number by a 16 bit number.

The tricky part will be the analog circuit to deliver a good measure of effective voltage and current.  PWM is the obvious way to control the heater since it's efficient, but having full on/off pulses going into the heating element will make it difficult to take meaningful measurements.

If you're clever, you take the A/D readings synchronous to the PWM right before the pulse shuts off.  You grab the instantaneous voltage and current when the heating element is full on, then do the divide to get resistance and a lookup to get temperature.

If that sounds like it's beyond you, then it's probably better to filter the pulses before they get to the heater.  A inductor in series, then a large cap across the heater will smooth out the ripples, hopefully to the point where the averages are valid measurements.  In that case you want to run the PWM as fast as you can to get the desired resolution, like a few 100 kHz.  If you're doing the synchronous measurements, you want to run the PWM slower, like maybe just above the audible range.