Separate layer visibility from feature visibility.

A single commit to separately control feature and layer visibility. A given feature is only displayed if both its visibility flag **and** its layer's visibility are true. I *think* this is the most intuitive logic.