This is a small cleanup to not keep in memory a value we don't need.
After the update_callback callback is called, we don't need to remember
it happens this callback was queued before. (It also prevents a
possible memory leak (of a boolean value) when widgets are destroyed)
The draw method exists only for widgets. When dealing with more complex
widget, this method is not necessary implemented (i.e. with layouts).
We need to check the method is defined by the child before calling it.
The previous implementation for these methods was a naive attempt at
making the base widget working. We need to make sure computing the
widget's sizes is more robust for complex widget_template definition.