CapsuleMultiselectWidget: Allow ignoring user input for 'allowArbitrary' widgets
CapsuleMultiselectWidget: Allow ignoring user input for 'allowArbitrary' widgets

Previously, subclasses had to implement #createItemWidget that would
always return a CapsuleItemWidget instance; they could not "reject"
user input. However in some cases there is just no sane way to produce
one (for a simple example, you only want to allow numbers, and the
user types in 'potato').

After this change, #createItemWidget can return `null`, which will
result in no item being added to the widget and the inputted text
remaining in the text field.

To make some use of this, items with empty labels are now disallowed
using the new system, rather than a special case check.

Bug: T136238
Change-Id: Ifb016e1d2c73ae701cbce4505583e48769fd4ed6

wikimedia/oojs-ui,wikimedia/oojs-ui,wikimedia/oojs-ui,wikimedia/oojs-ui