Of course i can support you in reviewing u8glib and m2tklib related code, but maybe the programming subforum is better for generic review request. However it looks like, you completly block loop() if temperature is below 20. And also avoid any call to "delay()"
do
{
/* ... */
temperature = DHT.temperature;
/* ... */
delay(10000);
}
while( temperature < 20);
Oliver