code: function Snap(w, h) {
      if (w) {
          if (w.nodeType) {
              return wrap(w);
          }
          if (is(w, "array") && Snap.set) {
              return Snap.set.apply(Snap, w);
          }
          if (w instanceof Element) {
              return w;
          }
          if (h == null) {
              try {
                  w = glob.doc.querySelector(String(w));
                  return wrap(w);
              } catch (e) {
                  return null;
              }
          }
      }
      w = w == null ? "100%" : w;
      h = h == null ? "100%" : h;
      return new Paper(w, h);
  }
docs: /*\
  Snap
  [ method ]
  *
  Creates a drawing surface or wraps existing SVG element.
  *
  - width (number|string) width of surface
  - height (number|string) height of surface
  or
  - DOM (SVGElement) element to be wrapped into Snap structure
  or
  - array (array) array of elements (will return set of elements)
  or
  - query (string) CSS query selector
  = (object) @Element
  \