Upgrade <item> support, add ItemBuilder

Support modifier-specific subtitles and the file:skipcheck type.

Add an ItemBuilder type that can be used to construct an item in a
functional manner, which avoids the need for `.into_maybe_owned()`
everywhere.