Allow "beforeselect" to transmit the item that is being selected

Previously, "active" was hardcoded to this.activeItem. This change allows the triggering action to specify a different active item. This is useful for "beforeselect" to announce which item is being selected before it is actually selected.