Major change in representing visibility

Front and back sides now 'know' if they are visible. No reliance upon
the DOM anymore. Is much faster and reliable (e.g. a robot may put a
bird in a hole and give it something and the call to render hasn't yet
updated the DOM to put the bird in the hole).
Fixed recently visibility bugs
Updated test programs