[Feature] Re-implemented zen mode. It works better (more robust in hiding un-needed elements) and is more performant than earlier.

- Using display:none instead of visibility or opacity to hide elements. This needed changes in the overall implementation of zen mode.
- Changed the property name of elements that zen mode uses to identify main elements (semantically more meaningful now).
- Introduced "exclude" property to specify any elements that need to hidden inside a visible element.