showMenu = function() {
                    menuShown = true;
                    that.optsMenu.show({
                        target: that.optsButton,
                        align: "left",
                        offset: [that.optsButton.width()-2,-1],
                        dispose: false
                    })
                }
options:
  - minimumLength : the minimum length of text before firing a change event
  - delay : delay, in ms, after a keystroke before firing change event

methods:
  - value([val]) - gets the current value, or, if `val` is provided, sets the value
  - count - sets or clears a sub-label on the input. This can be used to provide
            a feedback on the number of matches, or number of available entries to search
  - change - trigger a change event