made it so widget::handle_draw is protected instead of public and made external sources that were calling it call idget::draw instead