class_docstr: An Overlay consists of multiple Elements (potentially of
  heterogeneous type) presented one on top each other with a
  particular z-ordering.
  
  Overlays along with elements constitute the only valid leaf types of
  a Layout and in fact extend the Layout structure. Overlays are
  constructed using the * operator (building an identical structure
  to the + operator).
code: def __init__(self, items=None, group=None, label=None, **params):
      self.__dict__["_fixed"] = False
      self.__dict__["_group"] = group
      self.__dict__["_label"] = label
      super().__init__(items, **params)
  
imports: from functools import reduce
  import numpy
  import param
  from .dimension import Dimension, Dimensioned, ViewableElement, ViewableTree
  from .layout import AdjointLayout, Composable, Layout, Layoutable
  from .ndmapping import UniformNdMapping
  from .util import dimensioned_streams, sanitize_identifier, unique_array
label_desc: Use image node_id 1 to create a new Overlay object from inherited base classes: ViewableTree, CompositeOverlay, Layoutable, Overlayable with example: obj = Overlay(items, group, label)