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.