widgets/weather: use dynamically allocated memory for query strings
widgets/weather: handle weather code and temp conversion more safely