Allow setting of widget object name using <ObjectName>.
Add new root widget logic for skins that provide a <Layout> for the root widget.

This gets rid of the wrapper "outer widget" that we insert when creating old
non-resizable skins. This widget was used to keep the fixed-size skin centered
in the frame when we went fullscreen. Now that we have resizable skins this
wrapper should only be enabled for non-resizable skins. Only using a wrapper for
skins that don't provide a layout allows backwards compatibility with
non-resizable skins.