Make visibility useful in hierarchy

This makes it possible to hide the parent and all children based on the parents.visiblitlity.
We could also add a property on the scene object to switch between the 2 systems if it would be nessecary.

It seems to be working now.

A few Notes:

- All Invisible nodes still get calculated for matrices and visibility:
    - The camera still needs the matrices.
    - The object its matrices could be used even when they are invisible. 
- The lights now also get removed based on its ancestors visibility.
- The used camera isn't affected by visibility altough children of the camera are also affected by it.



 

The name updateChildren seems to imply the opposite of what's happening here. Maybe rename it to dontUpdateChildren?