theme ui: Implement [theme] id= attribute, defaults to name=

[theme] id specifies the internal theme id used by the engine to match
the theme definition against the recorded user settings. Existing themes
are still handled by using the name attribute if it's present when the
id is not, and a deprecation warning is issued in that case.

The name attribute is expected to be translatable for UI usage, whereas
the id attribute is not. (See also: [unit], [unit_type], etc.)
theme ui: Convert mainline themes to use id= and translatable name= values

The 'null' theme is a hidden theme, so it doesn't get a UI name of its
own.