Fix maxItems off-by-one: map schema maxItems to field cardinality
For the per-delta multi widget, finite cardinality is safe because each delta has its own named form element. Using maxItems as the cardinality lets Canvas disable the '+ Add' button at the correct count rather than allowing one extra item to be added before the limit kicks in.
The tags widget retains CARDINALITY_UNLIMITED since all its values share a single text input and finite cardinality would cause form element name collisions.