refactoring:  externalized inner classes
refactoring: externlized innerclasses
added new node for non-leafs to control the visibility of the child layers
chenge visiblitiy status of a category node if the status of a child node changed
refactored method
Prevented rerender of map when a single layer's visibility is changed during changing the visibilty of a category layer
Prevented reopening of all tree nodes on changing the visiblity of a single layer
Merge pull request #25 from lat-lon/layertreeVisibilityCategories-190

Layertree visibility categories 190