code: function Prompt(options, components) {
    this.element = components.element;
    this.element.classList.add('gcli-prompt');
  
    var prompt = options.promptChar || '\u00bb';
    var text = this.element.ownerDocument.createTextNode(prompt);
    this.element.appendChild(text);
  
    this.inputter = components.inputter;
    if (this.inputter) {
      this.inputter.onResize.add(this.resized, this);
  
      var dimensions = this.inputter.getDimensions();
      if (dimensions) {
        this.resized(dimensions);
      }
    }
  }
docs: Prompt is annoying because some systems provide a UI elements (i.e. firefox)
  while some expect you to overlay them on an input element (i.e. the web)
  Also we want to provide click -> show menu ability.
  @param options Object containing user customization properties, including:
  - promptChar (default='\u00bb') (double greater-than, a.k.a right guillemet)
  The prompt is used directly in a TextNode, so no HTML entities.
  @param components Object that links to other UI components. GCLI provided:
  - element
  - inputter