class_docstr: The idea of the "Param" class is that some parameter in the GUI may have
  several knobs that both control it and reflect the parameter's state, e.g.
  a slider, text, and dragging can all change the value of the frequency in
  the waveform of this example.
  The class allows a cleaner way to update/"feedback" to the other knobs when
  one is being changed.  Also, this class handles min/max constraints for all
  the knobs.
  Idea - knob list - in "set" method, knob object is passed as well
    - the other knobs in the knob list have a "set" method which gets
      called for the others.
code: def __init__(self, initialValue=None, minimum=0.0, maximum=1.0):
      self.minimum = minimum
      self.maximum = maximum
      if initialValue != self.constrain(initialValue):
          raise ValueError("illegal initial value")
      self.value = initialValue
      self.knobs = []
  
imports: import wx
  import numpy
  from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg
  from matplotlib.figure import Figure
label_desc: Use image node_id 1 to create a new Param object  with example: obj = Param(initialValue, minimum, maximum)