Stop adding components to the draw list...

...when they shouldn't.
When adding component A as the child component of component B we always add component A to component B's draw list if component A needs to draw.
This was a mistake if component A blocked the draw and was waiting for the root component to add it to component B's draw list. This was making component A to draw when it shouldn't.

This fix is just temporary as it's more expensive than it should.
It also lacks tests.