Added an optimization where visibility is used instead of just opacity in order to hide the shapes when they need to be invisible.  According to @jonathanolson, this will help rendering to be more efficient.