Improve initial component draw

Instead of asking all children of a component that will draw to draw too, only draw components that asked to draw.
We had this logic before because we were ignoring a needsDraw during deserialization, now we delay that request to after the deserialization instead of just ignoring it.