Use Culling to hide layers

Layer hiding now uses culling to hide layers.  Culling prevents the
rebuilding of the list of shapes every time layer view is changed.  A
small modification had to be made to Geometry Batch Factory to enable it
to handle culling.