This is the main part of the fix for the rendering of models at parent octree element layers.
Basically the old code would only return true for "leaves" but in the case of models at parent element levels this would fail. So I added a virtual function to distinguish between the three semantically different things:

* isLeaf() - from an octree perspective is this a leaf
* hasContent() - does this element "have some content"
* hasDetailedContent() - does this element have the most detailed content available

In the case of voxels, isLeaf() and hasDetailedContent() are the same, but hasContent() can be true for parent elements because they have averaged colors from below.

In the case of models, isLeaf() is less interesting, and hasContent() and hasDetailedContent() are the same... does the element have models in it... regardless of whether its a leaf or not.