The screen identifier was set to the "layout_name" which isn't
guaranteed to be unique or even exist.
This meant `bpy.data.screens.keys()` could have duplicate keys,
even when not duplicated, these keys couldn't be used for
`bpy.data.screen[key]` access because internally ID's use names for
collection look-ups.
Make screens match other ID's, using the ID.name as the identifier.
Note: this change was from the initial workspace commit 7f564d74f9
Since then the layout selector has been removed so this isn't needed.